diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt index e4a694a119..817bb641ff 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt @@ -275,10 +275,12 @@ class MediaSelectionViewModel( fun removeMedia(media: Set) { val snapshot = store.state val newMediaList = snapshot.selectedMedia - media - val oldFocusIndex = snapshot.selectedMedia.indexOf(media.first()) val newFocus = when { newMediaList.isEmpty() -> null - media == snapshot.focusedMedia -> newMediaList[Util.clamp(oldFocusIndex, 0, newMediaList.size - 1)] + snapshot.focusedMedia in media -> { + val oldFocusIndex = snapshot.selectedMedia.indexOf(snapshot.focusedMedia) + newMediaList[Util.clamp(oldFocusIndex, 0, newMediaList.size - 1)] + } else -> snapshot.focusedMedia } @@ -287,7 +289,7 @@ class MediaSelectionViewModel( selectedMedia = newMediaList, focusedMedia = newFocus, editorStateMap = it.editorStateMap - media.map { it.uri }, - cameraFirstCapture = if (media == it.cameraFirstCapture) null else it.cameraFirstCapture + cameraFirstCapture = if (it.cameraFirstCapture in media) null else it.cameraFirstCapture ) }