Enforced 5-image limit for selection and upload, added close button, updated warning dialog strings, and ensured thumbnail bar consistency

This commit is contained in:
Kota-Jagadeesh 2025-10-14 00:18:56 +05:30
parent 6edcab654a
commit d918b848e8
4 changed files with 20 additions and 6 deletions

View file

@ -23,7 +23,7 @@ internal class ThumbnailsAdapter(private val callback: Callback) :
var onThumbnailDeletedListener: OnThumbnailDeletedListener? = null
var uploadableFiles: List<UploadableFile> = emptyList()
set(value) {
field = value
field = value.take(5) //enforce 5-image limit
notifyDataSetChanged()
}

View file

@ -735,8 +735,8 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C
intent.getParcelableArrayListExtra<UploadableFile>(EXTRA_FILES)
}
// Convert to mutable list or return empty list if null
files?.toMutableList() ?: run {
// Convert to mutable list,takes up to 5 files, or return empty list if null
files?.toMutableList()?.take(5)?.toMutableList() ?: run { //enforce 5-image limit
Timber.w("Files array was null")
mutableListOf()
}
@ -753,6 +753,9 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C
Timber.d("File $index path: ${file.getFilePath()}")
}
//update thumbnails adapter with limited files
thumbnailsAdapter?.uploadableFiles = uploadableFiles
// Handle other extras with null safety
place = try {
if (VERSION.SDK_INT >= VERSION_CODES.TIRAMISU) {

View file

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
@ -45,14 +44,24 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<ImageView
android:id="@+id/close_button"
android:layout_width="@dimen/dimen_20"
android:layout_height="@dimen/dimen_20"
app:layout_constraintDimensionRatio="H,1:1"
android:src="@drawable/ic_cancel_white"
android:layout_margin="@dimen/dimen_6"
android:background="@drawable/circle_shape"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:visibility="gone"/>
<androidx.constraintlayout.widget.Group
android:id="@+id/selected_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
app:constraint_referenced_ids="selected_overlay,selected_image"/>
app:constraint_referenced_ids="selected_overlay,selected_image,close_button"/>
<View
android:id="@+id/uploaded_overlay"

View file

@ -887,4 +887,6 @@ Upload your first media by tapping on the add button.</string>
<string name="image_tag_line_created_and_uploaded_by">Created and uploaded by: %1$s</string>
<string name="image_tag_line_created_by_and_uploaded_by">Created by %1$s and uploaded by %2$s</string>
<string name="nominated_for_deletion_btn">Nominated for Deletion</string>
<string name="custom_selector_limit_warning_message">You can only select up to 5 images.</string>
</resources>