Merge "Flag-guards changes to status bar and lockscreen."
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java
index bc662e3..8994568 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java
@@ -15,6 +15,7 @@
package com.android.systemui.statusbar;
import android.content.pm.UserInfo;
+import android.os.SystemProperties;
import android.service.notification.StatusBarNotification;
import android.util.SparseArray;
@@ -25,6 +26,8 @@
String NOTIFICATION_UNLOCKED_BY_WORK_CHALLENGE_ACTION
= "com.android.systemui.statusbar.work_challenge_unlocked_notification_action";
+ boolean AUTO_DEMOTE_NOTIFICATIONS = SystemProperties.getBoolean("debug.demote_notifs", false);
+
boolean shouldAllowLockscreenRemoteInput();
/**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
index 427d169..0108469 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
@@ -292,9 +292,16 @@
Log.wtf(TAG, "mEntryManager was null!", new Throwable());
return false;
}
- return mShowLockscreenNotifications
- && getEntryManager().getNotificationData().getImportance(sbn.getKey())
- >= IMPORTANCE_DEFAULT;
+ boolean exceedsPriorityThreshold;
+ if (AUTO_DEMOTE_NOTIFICATIONS) {
+ exceedsPriorityThreshold =
+ getEntryManager().getNotificationData().getImportance(sbn.getKey())
+ >= IMPORTANCE_DEFAULT;
+ } else {
+ exceedsPriorityThreshold =
+ !getEntryManager().getNotificationData().isAmbient(sbn.getKey());
+ }
+ return mShowLockscreenNotifications && exceedsPriorityThreshold;
}
private void setShowLockscreenNotifications(boolean show) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java
index 4918825..f50e9a2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java
@@ -20,6 +20,7 @@
import com.android.internal.widget.ViewClippingUtil;
import com.android.systemui.Dependency;
import com.android.systemui.R;
+import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.StatusBarIconView;
import com.android.systemui.statusbar.notification.NotificationData;
@@ -48,7 +49,8 @@
@Override
public void onTuningChanged(String key, String newValue) {
if (key.equals(LOW_PRIORITY)) {
- mShowLowPriority = "1".equals(newValue);
+ mShowLowPriority = "1".equals(newValue)
+ || !NotificationLockscreenUserManager.AUTO_DEMOTE_NOTIFICATIONS;
if (mNotificationScrollLayout != null) {
updateStatusBarIcons();
}
@@ -234,7 +236,8 @@
public void updateStatusBarIcons() {
updateIconsForLayout(entry -> entry.icon, mNotificationIcons,
- false /* showAmbient */, false /* showLowPriority */, true /* hideDismissed */,
+ false /* showAmbient */, mShowLowPriority /* showLowPriority */,
+ true /* hideDismissed */,
true /* hideRepliedMessages */);
}