diff --git a/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt b/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt index f96bcde10..3834b8016 100644 --- a/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt +++ b/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt @@ -16,6 +16,7 @@ import fr.free.nrw.commons.contributions.Contribution import fr.free.nrw.commons.customselector.helper.ImageHelper import fr.free.nrw.commons.customselector.helper.ImageHelper.CUSTOM_SELECTOR_PREFERENCE_KEY import fr.free.nrw.commons.customselector.helper.ImageHelper.SHOW_ALREADY_ACTIONED_IMAGES_PREFERENCE_KEY +import fr.free.nrw.commons.customselector.helper.CustomSelectorConstants.MAX_IMAGE_COUNT import fr.free.nrw.commons.customselector.listeners.ImageSelectListener import fr.free.nrw.commons.customselector.model.Image import fr.free.nrw.commons.customselector.ui.selector.ImageLoader @@ -190,7 +191,7 @@ class ImageAdapter( ) holder.itemView.setOnClickListener { if (!holder.isItemUploaded() && !holder.isItemNotForUpload()) { - if (selectedImages.size >= 20 && !isSelected) { //enforce the 20-image limit + if (selectedImages.size >= MAX_IMAGE_COUNT && !isSelected) { //enforce the 20-image limit Toast.makeText(context, "Cannot select more than 20 images", Toast.LENGTH_SHORT).show() return@setOnClickListener } @@ -400,7 +401,7 @@ class ImageAdapter( * Set new selected images */ fun setSelectedImages(newSelectedImages: ArrayList) { - selectedImages = ArrayList(newSelectedImages.take(20)) // enforce 20-image limit + selectedImages = ArrayList(newSelectedImages.take(MAX_IMAGE_COUNT)) // enforce 20-image limit imageSelectListener.onSelectedImagesChanged(selectedImages, 0) } diff --git a/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt b/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt index cc737063c..576604d5d 100644 --- a/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt +++ b/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt @@ -47,6 +47,7 @@ import fr.free.nrw.commons.customselector.database.NotForUploadStatus import fr.free.nrw.commons.customselector.database.NotForUploadStatusDao import fr.free.nrw.commons.customselector.helper.CustomSelectorConstants import fr.free.nrw.commons.customselector.helper.FolderDeletionHelper +import fr.free.nrw.commons.customselector.helper.CustomSelectorConstants.MAX_IMAGE_COUNT import fr.free.nrw.commons.customselector.listeners.FolderClickListener import fr.free.nrw.commons.customselector.listeners.ImageSelectListener import fr.free.nrw.commons.customselector.model.Image @@ -107,7 +108,7 @@ class CustomSelectorActivity : /** * Maximum number of images that can be selected. */ - private var uploadLimit: Int = 20 // changed to 20 asper the issue #3101 + private var uploadLimit: Int = MAX_IMAGE_COUNT // changed to 20 asper the issue #3101 /** * Flag that is marked true when the amount @@ -214,7 +215,7 @@ class CustomSelectorActivity : ) // Check for single selection extra - uploadLimit = if (intent.getBooleanExtra(EXTRA_SINGLE_SELECTION, false)) 1 else 20 + uploadLimit = if (intent.getBooleanExtra(EXTRA_SINGLE_SELECTION, false)) 1 else MAX_IMAGE_COUNT setupViews() diff --git a/app/src/main/java/fr/free/nrw/commons/upload/ThumbnailsAdapter.kt b/app/src/main/java/fr/free/nrw/commons/upload/ThumbnailsAdapter.kt index b5156b722..eda653afc 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/ThumbnailsAdapter.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/ThumbnailsAdapter.kt @@ -10,6 +10,7 @@ import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView import com.facebook.drawee.view.SimpleDraweeView import fr.free.nrw.commons.R +import fr.free.nrw.commons.customselector.helper.CustomSelectorConstants.MAX_IMAGE_COUNT import fr.free.nrw.commons.databinding.ItemUploadThumbnailBinding import fr.free.nrw.commons.filepicker.UploadableFile import java.io.File @@ -23,7 +24,7 @@ internal class ThumbnailsAdapter(private val callback: Callback) : var onThumbnailDeletedListener: OnThumbnailDeletedListener? = null var uploadableFiles: List = emptyList() set(value) { - field = value.take(20) //enforce 20-image limit + field = value.take(MAX_IMAGE_COUNT) //enforce 20-image limit notifyDataSetChanged() } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.kt b/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.kt index 8c55ed556..1f1837232 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.kt @@ -27,6 +27,7 @@ import fr.free.nrw.commons.R import fr.free.nrw.commons.auth.LoginActivity import fr.free.nrw.commons.auth.SessionManager import fr.free.nrw.commons.contributions.ContributionController +import fr.free.nrw.commons.customselector.helper.CustomSelectorConstants.MAX_IMAGE_COUNT import fr.free.nrw.commons.databinding.ActivityUploadBinding import fr.free.nrw.commons.filepicker.Constants.RequestCodes import fr.free.nrw.commons.filepicker.UploadableFile @@ -735,7 +736,7 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C } // Convert to mutable list,takes up to 20 files, or return empty list if null - files?.toMutableList()?.take(20)?.toMutableList() ?: run { //enforce 20-image limit + files?.toMutableList()?.take(MAX_IMAGE_COUNT)?.toMutableList() ?: run { //enforce 20-image limit Timber.w("Files array was null") mutableListOf() }