diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/quotes/MessageQuotesBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/quotes/MessageQuotesBottomSheet.kt index 56cf56ebb6..7b7c5ccffd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/quotes/MessageQuotesBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/quotes/MessageQuotesBottomSheet.kt @@ -21,6 +21,11 @@ import org.thoughtcrime.securesms.database.model.MessageId import org.thoughtcrime.securesms.database.model.MessageRecord import org.thoughtcrime.securesms.database.model.MmsMessageRecord import org.thoughtcrime.securesms.dependencies.ApplicationDependencies +import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ItemDecoration +import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackController +import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackPolicy +import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ProjectionPlayerHolder +import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ProjectionRecycler import org.thoughtcrime.securesms.groups.GroupId import org.thoughtcrime.securesms.groups.GroupMigrationMembershipChange import org.thoughtcrime.securesms.linkpreview.LinkPreview @@ -101,6 +106,24 @@ class MessageQuotesBottomSheet : FixedRoundedCornerBottomSheetDialogFragment() { colorizer.onNameColorsChanged(map) messageAdapter.notifyItemRangeChanged(0, messageAdapter.itemCount, ConversationAdapter.PAYLOAD_NAME_COLORS) } + + initializeGiphyMp4(view.findViewById(R.id.video_container) as ViewGroup, list) + } + + private fun initializeGiphyMp4(videoContainer: ViewGroup, list: RecyclerView): GiphyMp4ProjectionRecycler { + val maxPlayback = GiphyMp4PlaybackPolicy.maxSimultaneousPlaybackInConversation() + val holders = GiphyMp4ProjectionPlayerHolder.injectVideoViews( + requireContext(), + viewLifecycleOwner.lifecycle, + videoContainer, + maxPlayback + ) + val callback = GiphyMp4ProjectionRecycler(holders) + + GiphyMp4PlaybackController.attach(list, callback, maxPlayback) + list.addItemDecoration(GiphyMp4ItemDecoration(callback) {}, 0) + + return callback } private fun getCallback(): Callback { diff --git a/app/src/main/res/layout/message_quotes_bottom_sheet.xml b/app/src/main/res/layout/message_quotes_bottom_sheet.xml index 8e716c4624..1f198b4a88 100644 --- a/app/src/main/res/layout/message_quotes_bottom_sheet.xml +++ b/app/src/main/res/layout/message_quotes_bottom_sheet.xml @@ -1,6 +1,7 @@ - @@ -11,11 +12,28 @@ android:layout_height="2dp" android:layout_gravity="center_horizontal" android:layout_marginTop="16dp" - android:background="@color/signal_icon_tint_tab_unselected" /> + android:background="@color/signal_icon_tint_tab_unselected" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent"/> + + + android:layout_height="wrap_content" + android:paddingBottom="24dp" + android:clipToPadding="false" + app:layout_constraintTop_toBottomOf="@id/anchor" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" /> - \ No newline at end of file + \ No newline at end of file