From 4d05f313cba6bd783b73b22bd146c2404449c4da Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 9 Nov 2020 10:00:02 +0100 Subject: [PATCH] Fixed animation issue in landscape from detail contact or call log to chat room --- .../linphone/activities/main/Navigation.kt | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/Navigation.kt b/app/src/main/java/org/linphone/activities/main/Navigation.kt index ef060ea68..57612acb2 100644 --- a/app/src/main/java/org/linphone/activities/main/Navigation.kt +++ b/app/src/main/java/org/linphone/activities/main/Navigation.kt @@ -76,6 +76,26 @@ fun getLeftToRightAnimationNavOptions(): NavOptions { .build() } +fun getRightBottomToLeftTopAnimationNavOptions(): NavOptions { + if (!corePreferences.enableAnimations) return NavOptions.Builder().build() + return NavOptions.Builder() + .setEnterAnim(R.anim.enter_right_or_bottom) + .setExitAnim(R.anim.exit_left_or_top) + .setPopEnterAnim(R.anim.enter_left_or_top) + .setPopExitAnim(R.anim.exit_right_or_bottom) + .build() +} + +fun getLeftTopToRightBottomAnimationNavOptions(): NavOptions { + if (!corePreferences.enableAnimations) return NavOptions.Builder().build() + return NavOptions.Builder() + .setEnterAnim(R.anim.enter_left_or_top) + .setExitAnim(R.anim.exit_right_or_bottom) + .setPopEnterAnim(R.anim.enter_right_or_bottom) + .setPopExitAnim(R.anim.exit_left_or_top) + .build() +} + fun getRightToLeftNoPopAnimationNavOptions(): NavOptions { if (!corePreferences.enableAnimations) return NavOptions.Builder().build() return NavOptions.Builder() @@ -375,13 +395,13 @@ internal fun DetailContactFragment.navigateToChatRoom(args: Bundle?) { findNavController().navigate( R.id.action_detailContactFragment_to_detailChatRoomFragment, args, - getRightToLeftAnimationNavOptions() + getRightBottomToLeftTopAnimationNavOptions() ) } else { findMasterNavController().navigate( R.id.action_global_masterChatRoomsFragment, args, - getRightToLeftAnimationNavOptions() + getRightBottomToLeftTopAnimationNavOptions() ) } } @@ -464,13 +484,13 @@ internal fun DetailCallLogFragment.navigateToChatRoom(args: Bundle?) { findNavController().navigate( R.id.action_detailCallLogFragment_to_detailChatRoomFragment, args, - getRightToLeftAnimationNavOptions() + getRightBottomToLeftTopAnimationNavOptions() ) } else { findMasterNavController().navigate( R.id.action_global_masterChatRoomsFragment, args, - getRightToLeftAnimationNavOptions() + getRightBottomToLeftTopAnimationNavOptions() ) } }