diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 0125b644fa4c5..404c40dbaef56 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -73,6 +73,7 @@ import com.android.systemui.R; import com.android.systemui.recent.RecentTasksLoader; import com.android.systemui.statusbar.BaseStatusBar; import com.android.systemui.statusbar.NotificationData; +import com.android.systemui.statusbar.NotificationData.Entry; import com.android.systemui.statusbar.SignalClusterView; import com.android.systemui.statusbar.StatusBarIconView; import com.android.systemui.statusbar.policy.BatteryController; @@ -116,6 +117,9 @@ public class PhoneStatusBar extends BaseStatusBar { private static final boolean CLOSE_PANEL_WHEN_EMPTIED = true; + private static final int NOTIFICATION_PRIORITY_MULTIPLIER = 10; // see NotificationManagerService + private static final int HIDE_ICONS_BELOW_SCORE = Notification.PRIORITY_LOW * NOTIFICATION_PRIORITY_MULTIPLIER; + // fling gesture tuning parameters, scaled to display density private float mSelfExpandVelocityPx; // classic value: 2000px/s private float mSelfCollapseVelocityPx; // classic value: 2000px/s (will be negated to collapse "up") @@ -889,7 +893,10 @@ public class PhoneStatusBar extends BaseStatusBar { ArrayList toShow = new ArrayList(); for (int i=0; i= HIDE_ICONS_BELOW_SCORE) { + toShow.add(ent.icon); + } } ArrayList toRemove = new ArrayList(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java index 49e5a61cadcfc..6e87dd76b34bf 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java @@ -70,6 +70,7 @@ import com.android.systemui.statusbar.BaseStatusBar; import com.android.systemui.statusbar.NotificationData; import com.android.systemui.statusbar.SignalClusterView; import com.android.systemui.statusbar.StatusBarIconView; +import com.android.systemui.statusbar.NotificationData.Entry; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BluetoothController; import com.android.systemui.statusbar.policy.CompatModeButton; @@ -111,6 +112,9 @@ public class TabletStatusBar extends BaseStatusBar implements final static int NOTIFICATION_PEEK_HOLD_THRESH = 200; // ms final static int NOTIFICATION_PEEK_FADE_DELAY = 3000; // ms + private static final int NOTIFICATION_PRIORITY_MULTIPLIER = 10; // see NotificationManagerService + private static final int HIDE_ICONS_BELOW_SCORE = Notification.PRIORITY_LOW * NOTIFICATION_PRIORITY_MULTIPLIER; + // The height of the bar, as definied by the build. It may be taller if we're plugged // into hdmi. int mNaturalBarHeight = -1; @@ -1713,9 +1717,12 @@ public class TabletStatusBar extends BaseStatusBar implements if (mInputMethodSwitchButton.getVisibility() != View.GONE) maxNotificationIconsCount --; if (mCompatModeButton.getVisibility() != View.GONE) maxNotificationIconsCount --; - for (int i=0; i< maxNotificationIconsCount; i++) { - if (i>=N) break; - toShow.add(mNotificationData.get(N-i-1).icon); + for (int i=0; toShow.size()< maxNotificationIconsCount; i++) { + if (i >= N) break; + Entry ent = mNotificationData.get(N-i-1); + if (ent.notification.score >= HIDE_ICONS_BELOW_SCORE) { + toShow.add(ent.icon); + } } ArrayList toRemove = new ArrayList(); @@ -1764,7 +1771,8 @@ public class TabletStatusBar extends BaseStatusBar implements for (int i=0; i