diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Adapter.kt b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Adapter.kt index 3992b53842..905119b97c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Adapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Adapter.kt @@ -44,4 +44,8 @@ class MediaPreviewV2Adapter(val fragment: Fragment) : FragmentStateAdapter(fragm notifyDataSetChanged() } } + + fun setAutoPlayItemPosition(position: Int) { + autoPlayPosition = position + } } 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 3e5132cdd7..324dec0835 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt @@ -158,8 +158,12 @@ class MediaPreviewV2Fragment : Fragment(R.layout.fragment_media_preview_v2), Med } private fun bindDataLoadedState(currentState: MediaPreviewV2State) { - (binding.mediaPager.adapter as MediaPreviewV2Adapter).updateBackingItems(currentState.mediaRecords.mapNotNull { it.attachment }) val currentPosition = currentState.position + val fragmentAdapter = binding.mediaPager.adapter as MediaPreviewV2Adapter + + fragmentAdapter.setAutoPlayItemPosition(currentPosition) + fragmentAdapter.updateBackingItems(currentState.mediaRecords.mapNotNull { it.attachment }) + if (binding.mediaPager.currentItem != currentPosition) { binding.mediaPager.setCurrentItem(currentPosition, false) }