Loading packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +8 −3 Original line number Diff line number Diff line Loading @@ -818,10 +818,10 @@ public abstract class BaseStatusBar extends SystemUI implements return entry.notification; } protected StatusBarIconView addNotificationViews(IBinder key, protected NotificationData.Entry createNotificationViews(IBinder key, StatusBarNotification notification) { if (DEBUG) { Log.d(TAG, "addNotificationViews(key=" + key + ", notification=" + notification); Log.d(TAG, "createNotificationViews(key=" + key + ", notification=" + notification); } // Construct the icon. final StatusBarIconView iconView = new StatusBarIconView(mContext, Loading @@ -846,7 +846,10 @@ public abstract class BaseStatusBar extends SystemUI implements + notification); return null; } return entry; } protected void addNotificationViews(NotificationData.Entry entry) { // Add the expanded view and icon. int pos = mNotificationData.add(entry); if (DEBUG) { Loading @@ -854,8 +857,10 @@ public abstract class BaseStatusBar extends SystemUI implements } updateExpansionStates(); updateNotificationIcons(); } return iconView; private void addNotificationViews(IBinder key, StatusBarNotification notification) { addNotificationViews(createNotificationViews(key, notification)); } protected void updateExpansionStates() { Loading packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java +12 −3 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ public class NotificationData { public View expanded; // the inflated RemoteViews public ImageView largeIcon; private View expandedBig; private boolean interruption; public Entry() {} public Entry(IBinder key, StatusBarNotification n, StatusBarIconView ic) { this.key = key; Loading @@ -58,6 +59,10 @@ public class NotificationData { public void setUserLocked(boolean userLocked) { row.setUserLocked(userLocked); } public void setInterruption() { interruption = true; } } private final ArrayList<Entry> mEntries = new ArrayList<Entry>(); private final Comparator<Entry> mEntryCmp = new Comparator<Entry>() { Loading @@ -66,9 +71,13 @@ public class NotificationData { final StatusBarNotification na = a.notification; final StatusBarNotification nb = b.notification; int d = na.getScore() - nb.getScore(); return (d != 0) ? d : (int)(na.getNotification().when - nb.getNotification().when); if (a.interruption != b.interruption) { return a.interruption ? 1 : -1; } else if (d != 0) { return d; } else { return (int) (na.getNotification().when - nb.getNotification().when); } } }; Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +6 −4 Original line number Diff line number Diff line Loading @@ -897,15 +897,17 @@ public class PhoneStatusBar extends BaseStatusBar { public void addNotification(IBinder key, StatusBarNotification notification) { if (DEBUG) Log.d(TAG, "addNotification score=" + notification.getScore()); StatusBarIconView iconView = addNotificationViews(key, notification); if (iconView == null) return; Entry shadeEntry = createNotificationViews(key, notification); if (shadeEntry == null) { return; } if (mUseHeadsUp && shouldInterrupt(notification)) { if (DEBUG) Log.d(TAG, "launching notification in heads up mode"); Entry interruptionCandidate = new Entry(key, notification, null); if (inflateViews(interruptionCandidate, mHeadsUpNotificationView.getHolder())) { mInterruptingNotificationTime = System.currentTimeMillis(); mInterruptingNotificationEntry = interruptionCandidate; shadeEntry.setInterruption(); // 1. Populate mHeadsUpNotificationView mHeadsUpNotificationView.setNotification(mInterruptingNotificationEntry); Loading Loading @@ -935,7 +937,7 @@ public class PhoneStatusBar extends BaseStatusBar { tick(null, notification, true); } } addNotificationViews(shadeEntry); // Recalculate the position of the sliding windows and the titles. setAreThereNotifications(); updateExpandedViewPos(EXPANDED_LEAVE_ALONE); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +8 −3 Original line number Diff line number Diff line Loading @@ -818,10 +818,10 @@ public abstract class BaseStatusBar extends SystemUI implements return entry.notification; } protected StatusBarIconView addNotificationViews(IBinder key, protected NotificationData.Entry createNotificationViews(IBinder key, StatusBarNotification notification) { if (DEBUG) { Log.d(TAG, "addNotificationViews(key=" + key + ", notification=" + notification); Log.d(TAG, "createNotificationViews(key=" + key + ", notification=" + notification); } // Construct the icon. final StatusBarIconView iconView = new StatusBarIconView(mContext, Loading @@ -846,7 +846,10 @@ public abstract class BaseStatusBar extends SystemUI implements + notification); return null; } return entry; } protected void addNotificationViews(NotificationData.Entry entry) { // Add the expanded view and icon. int pos = mNotificationData.add(entry); if (DEBUG) { Loading @@ -854,8 +857,10 @@ public abstract class BaseStatusBar extends SystemUI implements } updateExpansionStates(); updateNotificationIcons(); } return iconView; private void addNotificationViews(IBinder key, StatusBarNotification notification) { addNotificationViews(createNotificationViews(key, notification)); } protected void updateExpansionStates() { Loading
packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java +12 −3 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ public class NotificationData { public View expanded; // the inflated RemoteViews public ImageView largeIcon; private View expandedBig; private boolean interruption; public Entry() {} public Entry(IBinder key, StatusBarNotification n, StatusBarIconView ic) { this.key = key; Loading @@ -58,6 +59,10 @@ public class NotificationData { public void setUserLocked(boolean userLocked) { row.setUserLocked(userLocked); } public void setInterruption() { interruption = true; } } private final ArrayList<Entry> mEntries = new ArrayList<Entry>(); private final Comparator<Entry> mEntryCmp = new Comparator<Entry>() { Loading @@ -66,9 +71,13 @@ public class NotificationData { final StatusBarNotification na = a.notification; final StatusBarNotification nb = b.notification; int d = na.getScore() - nb.getScore(); return (d != 0) ? d : (int)(na.getNotification().when - nb.getNotification().when); if (a.interruption != b.interruption) { return a.interruption ? 1 : -1; } else if (d != 0) { return d; } else { return (int) (na.getNotification().when - nb.getNotification().when); } } }; Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +6 −4 Original line number Diff line number Diff line Loading @@ -897,15 +897,17 @@ public class PhoneStatusBar extends BaseStatusBar { public void addNotification(IBinder key, StatusBarNotification notification) { if (DEBUG) Log.d(TAG, "addNotification score=" + notification.getScore()); StatusBarIconView iconView = addNotificationViews(key, notification); if (iconView == null) return; Entry shadeEntry = createNotificationViews(key, notification); if (shadeEntry == null) { return; } if (mUseHeadsUp && shouldInterrupt(notification)) { if (DEBUG) Log.d(TAG, "launching notification in heads up mode"); Entry interruptionCandidate = new Entry(key, notification, null); if (inflateViews(interruptionCandidate, mHeadsUpNotificationView.getHolder())) { mInterruptingNotificationTime = System.currentTimeMillis(); mInterruptingNotificationEntry = interruptionCandidate; shadeEntry.setInterruption(); // 1. Populate mHeadsUpNotificationView mHeadsUpNotificationView.setNotification(mInterruptingNotificationEntry); Loading Loading @@ -935,7 +937,7 @@ public class PhoneStatusBar extends BaseStatusBar { tick(null, notification, true); } } addNotificationViews(shadeEntry); // Recalculate the position of the sliding windows and the titles. setAreThereNotifications(); updateExpandedViewPos(EXPANDED_LEAVE_ALONE); Loading