Fixed animation issue in landscape from detail contact or call log to chat room

This commit is contained in:
Sylvain Berfini 2020-11-09 10:00:02 +01:00
parent bd77288979
commit 4d05f313cb

View file

@ -76,6 +76,26 @@ fun getLeftToRightAnimationNavOptions(): NavOptions {
.build() .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 { fun getRightToLeftNoPopAnimationNavOptions(): NavOptions {
if (!corePreferences.enableAnimations) return NavOptions.Builder().build() if (!corePreferences.enableAnimations) return NavOptions.Builder().build()
return NavOptions.Builder() return NavOptions.Builder()
@ -375,13 +395,13 @@ internal fun DetailContactFragment.navigateToChatRoom(args: Bundle?) {
findNavController().navigate( findNavController().navigate(
R.id.action_detailContactFragment_to_detailChatRoomFragment, R.id.action_detailContactFragment_to_detailChatRoomFragment,
args, args,
getRightToLeftAnimationNavOptions() getRightBottomToLeftTopAnimationNavOptions()
) )
} else { } else {
findMasterNavController().navigate( findMasterNavController().navigate(
R.id.action_global_masterChatRoomsFragment, R.id.action_global_masterChatRoomsFragment,
args, args,
getRightToLeftAnimationNavOptions() getRightBottomToLeftTopAnimationNavOptions()
) )
} }
} }
@ -464,13 +484,13 @@ internal fun DetailCallLogFragment.navigateToChatRoom(args: Bundle?) {
findNavController().navigate( findNavController().navigate(
R.id.action_detailCallLogFragment_to_detailChatRoomFragment, R.id.action_detailCallLogFragment_to_detailChatRoomFragment,
args, args,
getRightToLeftAnimationNavOptions() getRightBottomToLeftTopAnimationNavOptions()
) )
} else { } else {
findMasterNavController().navigate( findMasterNavController().navigate(
R.id.action_global_masterChatRoomsFragment, R.id.action_global_masterChatRoomsFragment,
args, args,
getRightToLeftAnimationNavOptions() getRightBottomToLeftTopAnimationNavOptions()
) )
} }
} }