Skip to content

Commit 56d0beb

Browse files
authored
Fixes #5840 Custom select folder display breaks after exiting media preview (#5866)
* ImageFragment.kt: notifyDataSetChanged() added to update observers about init call in handleResult() * ImageFragment.kt: unnecessary initialisation after exiting media preview was removed from passSelectedImages
1 parent 63f1ed8 commit 56d0beb

File tree

2 files changed

+5
-11
lines changed

2 files changed

+5
-11
lines changed

app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import fr.free.nrw.commons.R
4141
import fr.free.nrw.commons.customselector.database.NotForUploadStatus
4242
import fr.free.nrw.commons.customselector.database.NotForUploadStatusDao
4343
import fr.free.nrw.commons.customselector.helper.CustomSelectorConstants
44-
import fr.free.nrw.commons.customselector.helper.CustomSelectorConstants.SHOULD_REFRESH
4544
import fr.free.nrw.commons.customselector.listeners.FolderClickListener
4645
import fr.free.nrw.commons.customselector.listeners.ImageSelectListener
4746
import fr.free.nrw.commons.customselector.model.Image
@@ -237,8 +236,7 @@ class CustomSelectorActivity :
237236
val selectedImages: ArrayList<Image> =
238237
data!!
239238
.getParcelableArrayListExtra(CustomSelectorConstants.NEW_SELECTED_IMAGES)!!
240-
val shouldRefresh = data.getBooleanExtra(SHOULD_REFRESH, false)
241-
imageFragment?.passSelectedImages(selectedImages, shouldRefresh)
239+
viewModel?.selectedImages?.value = selectedImages
242240
}
243241
}
244242

app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/ImageFragment.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,10 @@ class ImageFragment :
279279
filteredImages = ImageHelper.filterImages(images, bucketId)
280280
allImages = ArrayList(filteredImages)
281281
imageAdapter.init(filteredImages, allImages, TreeMap(), uploadingContributions)
282+
viewModel?.selectedImages?.value?.let { selectedImages ->
283+
imageAdapter.setSelectedImages(selectedImages)
284+
}
285+
imageAdapter.notifyDataSetChanged()
282286
selectorRV?.let {
283287
it.visibility = View.VISIBLE
284288
lastItemId?.let { pos ->
@@ -382,14 +386,6 @@ class ImageFragment :
382386
selectedImages: ArrayList<Image>,
383387
shouldRefresh: Boolean,
384388
) {
385-
imageAdapter.setSelectedImages(selectedImages)
386-
387-
val uploadingContributions = getUploadingContributions()
388-
389-
if (!showAlreadyActionedImages && shouldRefresh) {
390-
imageAdapter.init(filteredImages, allImages, TreeMap(), uploadingContributions)
391-
imageAdapter.setSelectedImages(selectedImages)
392-
}
393389
}
394390

395391
/**

0 commit comments

Comments
 (0)