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 4cc2c3587..eaa32a2dc 100644
--- a/app/src/main/java/org/linphone/activities/main/Navigation.kt
+++ b/app/src/main/java/org/linphone/activities/main/Navigation.kt
@@ -24,6 +24,7 @@ import android.os.Bundle
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
import androidx.navigation.NavController
+import androidx.navigation.NavOptions
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.fragment.findNavController
import org.linphone.R
@@ -46,6 +47,24 @@ internal fun Fragment.findMasterNavController(): NavController {
}
}
+fun getRightToLeftAnimationNavOptions(): NavOptions {
+ return NavOptions.Builder()
+ .setEnterAnim(R.anim.enter_right)
+ .setExitAnim(R.anim.exit_left)
+ .setPopEnterAnim(R.anim.enter_left)
+ .setPopExitAnim(R.anim.exit_right)
+ .build()
+}
+
+fun getLeftToRightAnimationNavOptions(): NavOptions {
+ return NavOptions.Builder()
+ .setEnterAnim(R.anim.enter_left)
+ .setExitAnim(R.anim.exit_right)
+ .setPopEnterAnim(R.anim.enter_right)
+ .setPopExitAnim(R.anim.exit_left)
+ .build()
+}
+
/* Chat related */
internal fun MasterChatRoomsFragment.navigateToChatRoom() {
@@ -80,12 +99,12 @@ internal fun MasterChatRoomsFragment.navigateToChatRoomCreation(
internal fun DetailChatRoomFragment.navigateToContacts(sipUriToAdd: String) {
val deepLink = "linphone-android://contact/new/$sipUriToAdd"
- findMasterNavController().navigate(Uri.parse(deepLink))
+ findMasterNavController().navigate(Uri.parse(deepLink), getLeftToRightAnimationNavOptions())
}
internal fun DetailChatRoomFragment.navigateToChatRooms() {
val deepLink = "linphone-android://chat/"
- findMasterNavController().navigate(Uri.parse(deepLink))
+ findMasterNavController().navigate(Uri.parse(deepLink), getLeftToRightAnimationNavOptions())
}
/* Contacts related */
@@ -117,7 +136,7 @@ internal fun MasterContactsFragment.navigateToContactEditor(sipUriToAdd: String?
internal fun ContactEditorFragment.navigateToContact(contact: NativeContact) {
val deepLink = "linphone-android://contact/view/${contact.nativeId}"
- findMasterNavController().navigate(Uri.parse(deepLink))
+ findMasterNavController().navigate(Uri.parse(deepLink), getRightToLeftAnimationNavOptions())
}
/* History related */
@@ -136,17 +155,17 @@ internal fun MasterCallLogsFragment.navigateToCallHistory() {
internal fun DetailCallLogFragment.navigateToContacts(sipUriToAdd: String) {
val deepLink = "linphone-android://contact/new/$sipUriToAdd"
- findMasterNavController().navigate(Uri.parse(deepLink))
+ findMasterNavController().navigate(Uri.parse(deepLink), getRightToLeftAnimationNavOptions())
}
internal fun DetailCallLogFragment.navigateToContact(contact: NativeContact) {
val deepLink = "linphone-android://contact/view/${contact.nativeId}"
- findMasterNavController().navigate(Uri.parse(deepLink))
+ findMasterNavController().navigate(Uri.parse(deepLink), getRightToLeftAnimationNavOptions())
}
internal fun DetailCallLogFragment.navigateToFriend(friendAddress: Address) {
val deepLink = "linphone-android://contact/new/${friendAddress.asStringUriOnly()}"
- findMasterNavController().navigate(Uri.parse(deepLink))
+ findMasterNavController().navigate(Uri.parse(deepLink), getRightToLeftAnimationNavOptions())
}
/* Settings related */
diff --git a/app/src/main/res/navigation/assistant_nav_graph.xml b/app/src/main/res/navigation/assistant_nav_graph.xml
index b0670abd7..ab3ba8086 100644
--- a/app/src/main/res/navigation/assistant_nav_graph.xml
+++ b/app/src/main/res/navigation/assistant_nav_graph.xml
@@ -5,7 +5,6 @@
android:id="@+id/assistant_nav_graph.xml"
app:startDestination="@id/welcomeFragment">
-
\ No newline at end of file
diff --git a/app/src/main/res/navigation/chat_nav_graph.xml b/app/src/main/res/navigation/chat_nav_graph.xml
index cc4e1d864..003362158 100644
--- a/app/src/main/res/navigation/chat_nav_graph.xml
+++ b/app/src/main/res/navigation/chat_nav_graph.xml
@@ -12,15 +12,31 @@
android:label="DetailChatRoomFragment" >
diff --git a/app/src/main/res/navigation/history_nav_graph.xml b/app/src/main/res/navigation/history_nav_graph.xml
index 37b869a4b..e337fbd72 100644
--- a/app/src/main/res/navigation/history_nav_graph.xml
+++ b/app/src/main/res/navigation/history_nav_graph.xml
@@ -10,4 +10,5 @@
android:name="org.linphone.activities.main.history.fragments.DetailCallLogFragment"
tools:layout="@layout/history_detail_fragment"
android:label="DetailCallLogFragment" />
+
\ No newline at end of file
diff --git a/app/src/main/res/navigation/main_nav_graph.xml b/app/src/main/res/navigation/main_nav_graph.xml
index 9fdbb5844..4dc8c2f03 100644
--- a/app/src/main/res/navigation/main_nav_graph.xml
+++ b/app/src/main/res/navigation/main_nav_graph.xml
@@ -33,10 +33,18 @@
app:popUpToInclusive="true" />
-
@@ -384,6 +452,10 @@
android:label="PhoneAccountLinkingFragment" >