diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerFragment.kt index f558c50796..6c1201bd6e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerFragment.kt @@ -145,6 +145,11 @@ class StoryViewerFragment : viewModel.addHiddenAndRefresh(setOf(recipientId)) } + override fun onContentTranslation(x: Float, y: Float) { + storyCrossfader.translationX = x + storyCrossfader.translationY = y + } + override fun onReadyToAnimate() { } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt index cb558c8b85..7d8547e874 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt @@ -214,6 +214,7 @@ class StoryViewerPageFragment : viewModel::goToNextPost, viewModel::goToPreviousPost, this::startReply, + requireListener()::onContentTranslation, sharedViewModel = sharedViewModel ) ) @@ -252,6 +253,8 @@ class StoryViewerPageFragment : .setDuration(100) .translationX(0f) .translationY(0f) + + requireListener().onContentTranslation(0f, 0f) } } @@ -1144,6 +1147,7 @@ class StoryViewerPageFragment : private val onGoToNext: () -> Unit, private val onGoToPrevious: () -> Unit, private val onReplyToPost: () -> Unit, + private val onContentTranslation: (Float, Float) -> Unit, private val viewToTranslate: View = container.parent as View, private val sharedViewModel: StoryViewerViewModel ) : GestureDetector.SimpleOnGestureListener() { @@ -1194,6 +1198,8 @@ class StoryViewerPageFragment : viewToTranslate.animate().cancel() viewToTranslate.translationX = distance + onContentTranslation(viewToTranslate.translationX, viewToTranslate.translationY) + return true } @@ -1303,12 +1309,6 @@ class StoryViewerPageFragment : sharedViewModel.setContentIsReady() } - interface Callback { - fun onGoToPreviousStory(recipientId: RecipientId) - fun onFinishedPosts(recipientId: RecipientId) - fun onStoryHidden(recipientId: RecipientId) - } - override fun userHasSeenFirstNavigationView(): Boolean { return SignalStore.storyValues().userHasSeenFirstNavView } @@ -1333,4 +1333,11 @@ class StoryViewerPageFragment : override fun onCanceled() { viewModel.setIsDisplayingPartialSendDialog(false) } + + interface Callback { + fun onGoToPreviousStory(recipientId: RecipientId) + fun onFinishedPosts(recipientId: RecipientId) + fun onStoryHidden(recipientId: RecipientId) + fun onContentTranslation(x: Float, y: Float) + } }