From 2b4c01c1064991554181406ce7cee555ddf6355a Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Tue, 25 Oct 2022 16:54:10 -0400 Subject: [PATCH] Fix autoplay for videos in Media Preview. --- .../securesms/mediapreview/MediaPreviewV2Adapter.kt | 4 ++++ .../securesms/mediapreview/MediaPreviewV2Fragment.kt | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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) }