From ff47f784a3054a6ca61dbc3b7ba095e525ddaf16 Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Tue, 27 Aug 2024 09:05:50 -0400 Subject: [PATCH] Prevent IndexOutOfBounds exception when media is deleted. --- .../securesms/mediapreview/MediaPreviewV2Fragment.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt index 118da9f76c..702a1e103a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt @@ -210,7 +210,7 @@ class MediaPreviewV2Fragment : LoggingFragment(R.layout.fragment_media_preview_v } private fun bindCurrentState(currentState: MediaPreviewV2State) { - if (currentState.position == -1 && currentState.mediaRecords.isEmpty()) { + if (currentState.position < 0 && currentState.mediaRecords.isEmpty()) { onMediaNotAvailable() return } @@ -225,7 +225,7 @@ class MediaPreviewV2Fragment : LoggingFragment(R.layout.fragment_media_preview_v val currentPosition = currentState.position val backingItems = currentState.mediaRecords.mapNotNull { it.attachment } - if (backingItems.isEmpty()) { + if (backingItems.isEmpty() || currentPosition < 0) { onMediaNotAvailable() return } @@ -242,7 +242,7 @@ class MediaPreviewV2Fragment : LoggingFragment(R.layout.fragment_media_preview_v * {@link OnPageChangeCallback}. */ private fun bindMediaReadyState(currentState: MediaPreviewV2State) { - if (currentState.mediaRecords.isEmpty()) { + if (currentState.mediaRecords.isEmpty() || currentState.position < 0) { onMediaNotAvailable() return }