mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-02 00:17:41 +01:00
Fix selected photo missing checkmark in media gallery.
This commit is contained in:
committed by
Alex Hart
parent
3e9146a6f5
commit
79ba929e70
@@ -109,7 +109,13 @@ class MediaGalleryFragment : Fragment(R.layout.v2_media_gallery_fragment) {
|
|||||||
.ifNecessary()
|
.ifNecessary()
|
||||||
.onAllGranted { callbacks.onNavigateToCamera() }
|
.onAllGranted { callbacks.onNavigateToCamera() }
|
||||||
.withRationaleDialog(getString(R.string.CameraXFragment_allow_access_camera), getString(R.string.CameraXFragment_to_capture_photos_and_video_allow_camera), R.drawable.ic_camera_24)
|
.withRationaleDialog(getString(R.string.CameraXFragment_allow_access_camera), getString(R.string.CameraXFragment_to_capture_photos_and_video_allow_camera), R.drawable.ic_camera_24)
|
||||||
.withPermanentDenialDialog(getString(R.string.CameraXFragment_signal_needs_camera_access_capture_photos), null, R.string.CameraXFragment_allow_access_camera, R.string.CameraXFragment_to_capture_photos_videos, getParentFragmentManager())
|
.withPermanentDenialDialog(
|
||||||
|
getString(R.string.CameraXFragment_signal_needs_camera_access_capture_photos),
|
||||||
|
null,
|
||||||
|
R.string.CameraXFragment_allow_access_camera,
|
||||||
|
R.string.CameraXFragment_to_capture_photos_videos,
|
||||||
|
getParentFragmentManager()
|
||||||
|
)
|
||||||
.onAnyDenied { Toast.makeText(requireContext(), R.string.CameraXFragment_signal_needs_camera_access_capture_photos, Toast.LENGTH_LONG).show() }
|
.onAnyDenied { Toast.makeText(requireContext(), R.string.CameraXFragment_signal_needs_camera_access_capture_photos, Toast.LENGTH_LONG).show() }
|
||||||
.execute()
|
.execute()
|
||||||
}
|
}
|
||||||
@@ -212,7 +218,11 @@ class MediaGalleryFragment : Fragment(R.layout.v2_media_gallery_fragment) {
|
|||||||
) { galleryItems, selectedMedia ->
|
) { galleryItems, selectedMedia ->
|
||||||
galleryItems.map {
|
galleryItems.map {
|
||||||
if (it is MediaGallerySelectableItem.FileModel) {
|
if (it is MediaGallerySelectableItem.FileModel) {
|
||||||
it.copy(isSelected = selectedMedia.contains(it.media), selectionOneBasedIndex = selectedMedia.indexOf(it.media) + 1)
|
val selectedIndex = selectedMedia.indexOfFirst { selected -> selected.uri == it.media.uri }
|
||||||
|
it.copy(
|
||||||
|
isSelected = selectedIndex >= 0,
|
||||||
|
selectionOneBasedIndex = selectedIndex + 1
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
it
|
it
|
||||||
}
|
}
|
||||||
@@ -291,7 +301,14 @@ class MediaGalleryFragment : Fragment(R.layout.v2_media_gallery_fragment) {
|
|||||||
.request(*PermissionCompat.forImagesAndVideos())
|
.request(*PermissionCompat.forImagesAndVideos())
|
||||||
.ifNecessary()
|
.ifNecessary()
|
||||||
.onAnyResult { refreshMediaGallery() }
|
.onAnyResult { refreshMediaGallery() }
|
||||||
.withPermanentDenialDialog(getString(R.string.AttachmentManager_signal_requires_the_external_storage_permission_in_order_to_attach_photos_videos_or_audio), null, R.string.AttachmentManager_signal_allow_storage, R.string.AttachmentManager_signal_to_show_photos, true, parentFragmentManager)
|
.withPermanentDenialDialog(
|
||||||
|
getString(R.string.AttachmentManager_signal_requires_the_external_storage_permission_in_order_to_attach_photos_videos_or_audio),
|
||||||
|
null,
|
||||||
|
R.string.AttachmentManager_signal_allow_storage,
|
||||||
|
R.string.AttachmentManager_signal_to_show_photos,
|
||||||
|
true,
|
||||||
|
parentFragmentManager
|
||||||
|
)
|
||||||
.onSomeDenied {
|
.onSomeDenied {
|
||||||
val deniedPermission = PermissionCompat.getRequiredPermissionsForDenial()
|
val deniedPermission = PermissionCompat.getRequiredPermissionsForDenial()
|
||||||
if (it.containsAll(deniedPermission.toList())) {
|
if (it.containsAll(deniedPermission.toList())) {
|
||||||
|
|||||||
Reference in New Issue
Block a user