summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authortwyen <twyen@google.com>2017-07-05 17:54:33 -0700
committerEric Erfanian <erfanian@google.com>2017-07-10 10:45:55 -0700
commit3128dea03a0e3981511dfed6f3ef555f0b574725 (patch)
treeca11f6e9dd07103529846057bc33ed6179bd8e56 /java
parent1803be7a4f88ebf05dddc99fcce6781f7ee937f9 (diff)
downloadandroid_packages_apps_Dialer-3128dea03a0e3981511dfed6f3ef555f0b574725.tar.gz
android_packages_apps_Dialer-3128dea03a0e3981511dfed6f3ef555f0b574725.tar.bz2
android_packages_apps_Dialer-3128dea03a0e3981511dfed6f3ef555f0b574725.zip
Use NOTIFICATION_INCOMING_CALL_QUIET when the in call UI is visible
There's a bug in O notification framework that the HUN(heads up notification) will always show when a notification with fullScreenIntent is updated. Previously NOTIFICATION_INCOMING_CALL_QUIET is only used when the call is already active when the new incoming call is received. NOTIFICATION_INCOMING_CALL_QUIET will post the notification to the ongoing call channel instead of the incoming call, which in theory will have lower importance and the HUN will not show. In this CL, all incoming call notification will become "quiet" if the InCallUi is visible. Bug: 62458080 Test: StatusBarNotiferTest.java PiperOrigin-RevId: 161029526 Change-Id: I671105ecfc102beb43e52cf4d91d55a66d31cd0e
Diffstat (limited to 'java')
-rw-r--r--java/com/android/incallui/StatusBarNotifier.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java
index 458df5149..53017a10e 100644
--- a/java/com/android/incallui/StatusBarNotifier.java
+++ b/java/com/android/incallui/StatusBarNotifier.java
@@ -66,6 +66,7 @@ import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.util.BitmapUtil;
import com.android.contacts.common.util.ContactDisplayUtils;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.enrichedcall.EnrichedCallManager;
import com.android.dialer.enrichedcall.Session;
import com.android.dialer.multimedia.MultimediaData;
@@ -308,11 +309,19 @@ public class StatusBarNotifier
if (callState == DialerCall.State.INCOMING
|| callState == DialerCall.State.CALL_WAITING
|| isVideoUpgradeRequest) {
- boolean alreadyActive =
- callList.getActiveOrBackgroundCall() != null
- && InCallPresenter.getInstance().isShowingInCallUi();
- notificationType =
- alreadyActive ? NOTIFICATION_INCOMING_CALL_QUIET : NOTIFICATION_INCOMING_CALL;
+ if (ConfigProviderBindings.get(mContext)
+ .getBoolean("quiet_incoming_call_if_ui_showing", true)) {
+ notificationType =
+ InCallPresenter.getInstance().isShowingInCallUi()
+ ? NOTIFICATION_INCOMING_CALL_QUIET
+ : NOTIFICATION_INCOMING_CALL;
+ } else {
+ boolean alreadyActive =
+ callList.getActiveOrBackgroundCall() != null
+ && InCallPresenter.getInstance().isShowingInCallUi();
+ notificationType =
+ alreadyActive ? NOTIFICATION_INCOMING_CALL_QUIET : NOTIFICATION_INCOMING_CALL;
+ }
} else {
notificationType = NOTIFICATION_IN_CALL;
}