mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Prevent IndexOutOfBoundsException in setUploadMediaDetails by validating index and list size (#6404)
This commit is contained in:
parent
be371e5236
commit
708e8250f2
1 changed files with 12 additions and 1 deletions
|
|
@ -69,7 +69,18 @@ class UploadMediaPresenter @Inject constructor(
|
|||
uploadMediaDetails: List<UploadMediaDetail>,
|
||||
uploadItemIndex: Int
|
||||
) {
|
||||
repository.getUploads()[uploadItemIndex].uploadMediaDetails = uploadMediaDetails.toMutableList()
|
||||
val uploadItems = repository.getUploads()
|
||||
if (uploadItemIndex >= 0 && uploadItemIndex < uploadItems.size) {
|
||||
if (uploadMediaDetails.isNotEmpty()) {
|
||||
uploadItems[uploadItemIndex].uploadMediaDetails = uploadMediaDetails.toMutableList()
|
||||
Timber.d("Set uploadMediaDetails for index %d, size %d", uploadItemIndex, uploadMediaDetails.size)
|
||||
} else {
|
||||
uploadItems[uploadItemIndex].uploadMediaDetails = mutableListOf(UploadMediaDetail())
|
||||
Timber.w("Received empty uploadMediaDetails for index %d, initialized default", uploadItemIndex)
|
||||
}
|
||||
} else {
|
||||
Timber.e("Invalid index %d for uploadItems size %d, skipping setUploadMediaDetails", uploadItemIndex, uploadItems.size)
|
||||
}
|
||||
}
|
||||
|
||||
override fun setupBasicKvStoreFactory(factory: (String) -> BasicKvStore) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue