From 4883bc8293e37c2cea1f588a809560092445caa0 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 31 May 2022 15:41:37 +0200 Subject: [PATCH] Added go to contact / add to contacts option in every 1-1 chat room menu --- .../org/linphone/activities/Navigation.kt | 11 +++-- .../chat/fragments/DetailChatRoomFragment.kt | 40 +++++++++++++++++- .../main/chat/viewmodels/ChatRoomViewModel.kt | 14 ++++-- .../fragments/DetailCallLogFragment.kt | 11 ++--- .../main/res/drawable-xhdpi/menu_contact.png | Bin 0 -> 11153 bytes app/src/main/res/layout/chat_room_menu.xml | 32 ++++++++++++++ app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 8 files changed, 94 insertions(+), 16 deletions(-) create mode 100644 app/src/main/res/drawable-xhdpi/menu_contact.png 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 0000000000000000000000000000000000000000..69de1c2a31feeb648a9b02f8633c3beadcdf693d GIT binary patch literal 11153 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 literal 0 HcmV?d00001 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