From 7b581ba5867f1dc2cea77c99d0485d5738af7f7e Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 26 May 2020 11:58:34 +0200 Subject: [PATCH] Fixed call transfer and call add if auto start call setting is enabled --- .../main/contact/fragments/DetailContactFragment.kt | 3 ++- .../activities/main/dialer/fragments/DialerFragment.kt | 4 +++- .../main/history/fragments/DetailCallLogFragment.kt | 3 ++- .../main/history/fragments/MasterCallLogsFragment.kt | 3 ++- .../java/org/linphone/notifications/NotificationsManager.kt | 1 + 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/contact/fragments/DetailContactFragment.kt b/app/src/main/java/org/linphone/activities/main/contact/fragments/DetailContactFragment.kt index 925c68fdc..d3f95ba43 100644 --- a/app/src/main/java/org/linphone/activities/main/contact/fragments/DetailContactFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/contact/fragments/DetailContactFragment.kt @@ -79,10 +79,11 @@ class DetailContactFragment : Fragment() { viewModel.startCallToEvent.observe(viewLifecycleOwner, Observer { it.consume { address -> if (coreContext.core.callsNb > 0) { - Log.i("[Contact] Starting dialer with pre-filled URI ${address.asStringUriOnly()}") + Log.i("[Contact] Starting dialer with pre-filled URI ${address.asStringUriOnly()}, is transfer? ${sharedViewModel.pendingCallTransfer}") val args = Bundle() args.putString("URI", address.asStringUriOnly()) args.putBoolean("Transfer", sharedViewModel.pendingCallTransfer) + args.putBoolean("SkipAutoCallStart", true) // If auto start call setting is enabled, ignore it findNavController().navigate( R.id.action_global_dialerFragment, args diff --git a/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt b/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt index ad734dbbb..0af3d5abc 100644 --- a/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt @@ -89,11 +89,13 @@ class DialerFragment : Fragment() { if (arguments?.containsKey("Transfer") == true) { sharedViewModel.pendingCallTransfer = arguments?.getBoolean("Transfer") ?: false + Log.i("[Dialer] Is pending call transfer: ${sharedViewModel.pendingCallTransfer}") } if (arguments?.containsKey("URI") == true) { val address = arguments?.getString("URI") ?: "" + val skipAutoCall = arguments?.getBoolean("SkipAutoCallStart") ?: false - if (corePreferences.callRightAway) { + if (corePreferences.callRightAway && !skipAutoCall) { Log.i("[Dialer] Call right away setting is enabled, start the call to $address") viewModel.directCall(address) } else { diff --git a/app/src/main/java/org/linphone/activities/main/history/fragments/DetailCallLogFragment.kt b/app/src/main/java/org/linphone/activities/main/history/fragments/DetailCallLogFragment.kt index d4c0c3a69..df9ca3e57 100644 --- a/app/src/main/java/org/linphone/activities/main/history/fragments/DetailCallLogFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/history/fragments/DetailCallLogFragment.kt @@ -100,10 +100,11 @@ class DetailCallLogFragment : Fragment() { viewModel.startCallEvent.observe(viewLifecycleOwner, Observer { it.consume { address -> if (coreContext.core.callsNb > 0) { - Log.i("[History] Starting dialer with pre-filled URI ${address.asStringUriOnly()}") + Log.i("[History] Starting dialer with pre-filled URI ${address.asStringUriOnly()}, is transfer? ${sharedViewModel.pendingCallTransfer}") val args = Bundle() args.putString("URI", address.asStringUriOnly()) args.putBoolean("Transfer", sharedViewModel.pendingCallTransfer) + args.putBoolean("SkipAutoCallStart", true) // If auto start call setting is enabled, ignore it findNavController().navigate( R.id.action_global_dialerFragment, args diff --git a/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt b/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt index c3e3820f1..f05389ce1 100644 --- a/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt @@ -139,10 +139,11 @@ class MasterCallLogsFragment : MasterFragment() { adapter.startCallToEvent.observe(viewLifecycleOwner, Observer { it.consume { address -> if (coreContext.core.callsNb > 0) { - Log.i("[History] Starting dialer with pre-filled URI ${address.asStringUriOnly()}") + Log.i("[History] Starting dialer with pre-filled URI ${address.asStringUriOnly()}, is transfer? ${sharedViewModel.pendingCallTransfer}") val args = Bundle() args.putString("URI", address.asStringUriOnly()) args.putBoolean("Transfer", sharedViewModel.pendingCallTransfer) + args.putBoolean("SkipAutoCallStart", true) // If auto start call setting is enabled, ignore it findNavController().navigate( R.id.action_global_dialerFragment, args diff --git a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt index cffe01cb2..fba181116 100644 --- a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt +++ b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt @@ -369,6 +369,7 @@ class NotificationsManager(private val context: Context) { .setContentIntent(pendingIntent) .setCategory(NotificationCompat.CATEGORY_CALL) .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) + .setPriority(NotificationCompat.PRIORITY_HIGH) .setWhen(System.currentTimeMillis()) .setAutoCancel(false) .setShowWhen(true)