mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Fix #6409: Add listener call in ImageAdapter to update UI and upload button on deselection
This commit is contained in:
parent
730f314200
commit
cd09c81d2e
1 changed files with 3 additions and 27 deletions
|
|
@ -296,39 +296,14 @@ class ImageAdapter(
|
||||||
private fun onThumbnailClicked(
|
private fun onThumbnailClicked(
|
||||||
position: Int,
|
position: Int,
|
||||||
holder: ImageViewHolder,
|
holder: ImageViewHolder,
|
||||||
) {
|
|
||||||
val sharedPreferences: SharedPreferences =
|
|
||||||
context.getSharedPreferences(CUSTOM_SELECTOR_PREFERENCE_KEY, 0)
|
|
||||||
val switchState =
|
|
||||||
sharedPreferences.getBoolean(SHOW_ALREADY_ACTIONED_IMAGES_PREFERENCE_KEY, true)
|
|
||||||
|
|
||||||
// While switch is turned off, lets user click on image only if the position is
|
|
||||||
// added inside map
|
|
||||||
if (!switchState) {
|
|
||||||
if (actionableImagesMap.size > position) {
|
|
||||||
selectOrRemoveImage(holder, position)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
selectOrRemoveImage(holder, position)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handle click event on an image, update counter on images.
|
|
||||||
*/
|
|
||||||
private fun selectOrRemoveImage(
|
|
||||||
holder: ImageViewHolder,
|
|
||||||
position: Int,
|
|
||||||
) {
|
) {
|
||||||
val sharedPreferences: SharedPreferences =
|
val sharedPreferences: SharedPreferences =
|
||||||
context.getSharedPreferences(CUSTOM_SELECTOR_PREFERENCE_KEY, 0)
|
context.getSharedPreferences(CUSTOM_SELECTOR_PREFERENCE_KEY, 0)
|
||||||
val showAlreadyActionedImages =
|
val showAlreadyActionedImages =
|
||||||
sharedPreferences.getBoolean(SHOW_ALREADY_ACTIONED_IMAGES_PREFERENCE_KEY, true)
|
sharedPreferences.getBoolean(SHOW_ALREADY_ACTIONED_IMAGES_PREFERENCE_KEY, true)
|
||||||
|
|
||||||
// Getting clicked index from all images index when show_already_actioned_images
|
// Single Selection mode
|
||||||
// switch is on
|
|
||||||
if (singleSelection) {
|
if (singleSelection) {
|
||||||
// If single selection mode, clear previous selection and select only the new one
|
|
||||||
if (selectedImages.isNotEmpty() && (selectedImages[0] != images[position])) {
|
if (selectedImages.isNotEmpty() && (selectedImages[0] != images[position])) {
|
||||||
val prevIndex = images.indexOf(selectedImages[0])
|
val prevIndex = images.indexOf(selectedImages[0])
|
||||||
selectedImages.clear()
|
selectedImages.clear()
|
||||||
|
|
@ -348,6 +323,7 @@ class ImageAdapter(
|
||||||
numberOfSelectedImagesMarkedAsNotForUpload--
|
numberOfSelectedImagesMarkedAsNotForUpload--
|
||||||
}
|
}
|
||||||
notifyItemChanged(position, ImageUnselected())
|
notifyItemChanged(position, ImageUnselected())
|
||||||
|
imageSelectListener.onSelectedImagesChanged(selectedImages, numberOfSelectedImagesMarkedAsNotForUpload) // Added this line to notify the activity
|
||||||
} else {
|
} else {
|
||||||
val image = images[position]
|
val image = images[position]
|
||||||
scope.launch(ioDispatcher) {
|
scope.launch(ioDispatcher) {
|
||||||
|
|
@ -632,4 +608,4 @@ class ImageAdapter(
|
||||||
fun setSingleSelection(single: Boolean) {
|
fun setSingleSelection(single: Boolean) {
|
||||||
singleSelection = single
|
singleSelection = single
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue