summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/NotificationManagerService.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java/com/android/server/NotificationManagerService.java')
-rw-r--r--services/java/com/android/server/NotificationManagerService.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java
index f9b6eba68b60..111dbb237618 100644
--- a/services/java/com/android/server/NotificationManagerService.java
+++ b/services/java/com/android/server/NotificationManagerService.java
@@ -283,13 +283,14 @@ public class NotificationManagerService extends INotificationManager.Stub
}
public void record(StatusBarNotification nr) {
- // Nuke heavy parts of notification before storing in archive
- nr.getNotification().lightenPayload();
-
if (mBuffer.size() == BUFFER_SIZE) {
mBuffer.removeFirst();
}
- mBuffer.addLast(nr);
+
+ // We don't want to store the heavy bits of the notification in the archive,
+ // but other clients in the system process might be using the object, so we
+ // store a (lightened) copy.
+ mBuffer.addLast(nr.cloneLight());
}