summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Sandler <dsandler@android.com>2012-05-03 08:28:25 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-03 08:28:25 -0700
commit5380cdc2e1adc8511b05e7623efb44d67be88418 (patch)
tree4fe8e2ef0e60e8d50fcbaa8b72df713d83aa0989
parentc5d76e041ab45c97d74fe93cb52e7fbc912b3ef6 (diff)
parent58b173b1ca10bfb8bd8f7fac676f51178e57ff83 (diff)
downloadframeworks_base-5380cdc2e1adc8511b05e7623efb44d67be88418.zip
frameworks_base-5380cdc2e1adc8511b05e7623efb44d67be88418.tar.gz
frameworks_base-5380cdc2e1adc8511b05e7623efb44d67be88418.tar.bz2
Merge "Hide icons for low-priority notifications." into jb-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java16
2 files changed, 20 insertions, 5 deletions
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 48f5f27..db8316f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -75,6 +75,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;
@@ -118,6 +119,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")
@@ -905,7 +909,10 @@ public class PhoneStatusBar extends BaseStatusBar {
ArrayList<View> toShow = new ArrayList<View>();
for (int i=0; i<N; i++) {
- toShow.add(mNotificationData.get(N-i-1).icon);
+ Entry ent = mNotificationData.get(N-i-1);
+ if (ent.notification.score >= HIDE_ICONS_BELOW_SCORE) {
+ toShow.add(ent.icon);
+ }
}
ArrayList<View> toRemove = new ArrayList<View>();
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 49e5a61..6e87dd7 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<View> toRemove = new ArrayList<View>();
@@ -1764,7 +1771,8 @@ public class TabletStatusBar extends BaseStatusBar implements
for (int i=0; i<toShow.size(); i++) {
View v = toShow.get(i);
if (v.getParent() == null) {
- mPile.addView(v, N-1-i); // the notification panel has newest at the bottom
+ // the notification panel has the most important things at the bottom
+ mPile.addView(v, N-1-i);
}
}