diff options
author | Joe Onorato <joeo@android.com> | 2010-03-25 16:00:25 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-03-25 16:00:25 -0700 |
commit | 53d7c234432c8d2cca5b6e2ac08ab859b062f892 (patch) | |
tree | b795b314ce2de6aada5ed6da728b475061a6c274 | |
parent | b012e15441d86bdb31e87b23a7b3a565121aa37c (diff) | |
parent | 32b51436c68966cc7e5895fc917e7d9c7ffb10dd (diff) | |
download | frameworks_base-53d7c234432c8d2cca5b6e2ac08ab859b062f892.zip frameworks_base-53d7c234432c8d2cca5b6e2ac08ab859b062f892.tar.gz frameworks_base-53d7c234432c8d2cca5b6e2ac08ab859b062f892.tar.bz2 |
Merge "Fix 2495749 - System process crash when a notification switches sections."
-rw-r--r-- | services/java/com/android/server/status/NotificationViewList.java | 21 | ||||
-rw-r--r-- | services/java/com/android/server/status/StatusBarService.java | 2 |
2 files changed, 20 insertions, 3 deletions
diff --git a/services/java/com/android/server/status/NotificationViewList.java b/services/java/com/android/server/status/NotificationViewList.java index 1598b68..1bb56a7 100644 --- a/services/java/com/android/server/status/NotificationViewList.java +++ b/services/java/com/android/server/status/NotificationViewList.java @@ -173,6 +173,12 @@ class NotificationViewList { } void add(StatusBarNotification notification) { + if (StatusBarService.SPEW) { + Slog.d(StatusBarService.TAG, "before add NotificationViewList" + + " notification.data.ongoingEvent=" + notification.data.ongoingEvent); + dump(notification); + } + ArrayList<StatusBarNotification> list = notification.data.ongoingEvent ? mOngoing : mLatest; long when = notification.data.when; final int N = list.size(); @@ -187,20 +193,25 @@ class NotificationViewList { list.add(index, notification); if (StatusBarService.SPEW) { - Slog.d(StatusBarService.TAG, "NotificationViewList index=" + index); + Slog.d(StatusBarService.TAG, "after add NotificationViewList index=" + index); dump(notification); } } void dump(StatusBarNotification notification) { if (StatusBarService.SPEW) { + boolean showTime = false; String s = ""; for (int i=0; i<mOngoing.size(); i++) { StatusBarNotification that = mOngoing.get(i); if (that.key == notification.key) { s += "["; } - s += that.data.when; + if (showTime) { + s += that.data.when; + } else { + s += that.data.pkg + "/" + that.data.id + "/" + that.view; + } if (that.key == notification.key) { s += "]"; } @@ -214,7 +225,11 @@ class NotificationViewList { if (that.key == notification.key) { s += "["; } - s += that.data.when; + if (showTime) { + s += that.data.when; + } else { + s += that.data.pkg + "/" + that.data.id + "/" + that.view; + } if (that.key == notification.key) { s += "]"; } diff --git a/services/java/com/android/server/status/StatusBarService.java b/services/java/com/android/server/status/StatusBarService.java index 27b7b504..bcaf0a4 100644 --- a/services/java/com/android/server/status/StatusBarService.java +++ b/services/java/com/android/server/status/StatusBarService.java @@ -893,6 +893,8 @@ public class StatusBarService extends IStatusBar.Stub void updateNotificationView(StatusBarNotification notification, NotificationData oldData) { NotificationData n = notification.data; if (oldData != null && n != null + && n.when == oldData.when + && n.ongoingEvent == oldData.ongoingEvent && n.contentView != null && oldData.contentView != null && n.contentView.getPackage() != null && oldData.contentView.getPackage() != null |