diff --git a/app/src/main/java/org/linphone/activities/Navigation.kt b/app/src/main/java/org/linphone/activities/Navigation.kt index 3d46cc2c1..c87133ddc 100644 --- a/app/src/main/java/org/linphone/activities/Navigation.kt +++ b/app/src/main/java/org/linphone/activities/Navigation.kt @@ -49,7 +49,6 @@ import org.linphone.activities.main.settings.fragments.* import org.linphone.activities.main.sidemenu.fragments.SideMenuFragment import org.linphone.activities.voip.CallActivity import org.linphone.activities.voip.fragments.* -import org.linphone.core.Address internal fun Fragment.findMasterNavController(): NavController { return parentFragment?.parentFragment?.findNavController() ?: findNavController() @@ -317,6 +316,11 @@ internal fun DetailChatRoomFragment.navigateToContacts(sipUriToAdd: String) { findMasterNavController().navigate(Uri.parse(deepLink)) } +internal fun DetailChatRoomFragment.navigateToContact(id: String) { + val deepLink = "linphone-android://contact/view/$id" + findMasterNavController().navigate(Uri.parse(deepLink)) +} + internal fun DetailChatRoomFragment.navigateToImdn(args: Bundle?) { if (findNavController().currentDestination?.id == R.id.detailChatRoomFragment) { findNavController().navigate( @@ -644,11 +648,6 @@ internal fun DetailCallLogFragment.navigateToContact(id: String) { findMasterNavController().navigate(Uri.parse(deepLink)) } -internal fun DetailCallLogFragment.navigateToFriend(friendAddress: Address) { - val deepLink = "linphone-android://contact/new/${friendAddress.asStringUriOnly()}" - findMasterNavController().navigate(Uri.parse(deepLink)) -} - internal fun DetailCallLogFragment.navigateToChatRoom(args: Bundle?) { if (findNavController().currentDestination?.id == R.id.detailCallLogFragment) { findMasterNavController().navigate( diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt index d0d658ec9..0cc300f3d 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt @@ -849,7 +849,7 @@ class DetailChatRoomFragment : MasterFragment() { binding.setNewContactClickListener { val copy = viewModel.callLog.remoteAddress.clone() copy.clean() - Log.i("[History] Creating contact with SIP URI: ${copy.asStringUriOnly()}") + val address = copy.asStringUriOnly() + Log.i("[History] Creating contact with SIP URI: $address") sharedViewModel.updateContactsAnimationsBasedOnDestination.value = Event(R.id.masterCallLogsFragment) - navigateToContacts(copy.asStringUriOnly()) + navigateToContacts(address) } binding.setContactClickListener { @@ -86,8 +86,9 @@ class DetailCallLogFragment : GenericFragment() { } else { val copy = viewModel.callLog.remoteAddress.clone() copy.clean() - Log.i("[History] Displaying friend with address ${copy.asStringUriOnly()}") - navigateToFriend(copy) + val address = copy.asStringUriOnly() + Log.i("[History] Displaying friend with address $address") + navigateToContact(address) } } diff --git a/app/src/main/res/drawable-xhdpi/menu_contact.png b/app/src/main/res/drawable-xhdpi/menu_contact.png new file mode 100644 index 000000000..69de1c2a3 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/menu_contact.png differ diff --git a/app/src/main/res/layout/chat_room_menu.xml b/app/src/main/res/layout/chat_room_menu.xml index 6c7550a2a..498605ff5 100644 --- a/app/src/main/res/layout/chat_room_menu.xml +++ b/app/src/main/res/layout/chat_room_menu.xml @@ -37,6 +37,18 @@ + + + + + + + + Désactiver les notifications Activer les notifications Les notifications sont désactivées pour cette conversation + Voir le contact \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 34da62b26..8c61db21f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -188,6 +188,7 @@ File not found Group info Conversation\'s devices + Go to contact Ephemeral messages Delete messages Disable notifications