From 5db227d236d2dc78e6d2a9e08eebec3bb37e6129 Mon Sep 17 00:00:00 2001 From: Beverly Date: Thu, 17 Oct 2019 10:27:08 -0400 Subject: [PATCH] Don't store copies of notifications for logging We only need to retain the String representation of the event Test: manual Fixes: 142823448 Change-Id: I907143e5a5f87c9a561e3d23cd365243c9901ee3 --- .../notification/logging/NotifEvent.java | 42 +++++-------------- 1 file changed, 10 insertions(+), 32 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotifEvent.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotifEvent.java index 7703cbd94e1cc..8ebbca26fa5ba 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotifEvent.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotifEvent.java @@ -27,12 +27,11 @@ import java.lang.annotation.RetentionPolicy; /** * An event related to notifications. {@link NotifLog} stores and prints these events for debugging - * and triaging purposes. + * and triaging purposes. We do not store a copy of the status bar notification nor ranking + * here to mitigate memory usage. */ public class NotifEvent extends RichEvent { public static final int TOTAL_EVENT_TYPES = 11; - private final StatusBarNotification mSbn; - private final Ranking mRanking; /** * Creates a NotifEvent with an event type that matches with an index in the array @@ -44,34 +43,20 @@ public class NotifEvent extends RichEvent { public NotifEvent(int logLevel, int type, String reason, StatusBarNotification sbn, Ranking ranking) { super(logLevel, type, reason); + mMessage += getExtraInfo(sbn, ranking); + } + + private String getExtraInfo(StatusBarNotification sbn, Ranking ranking) { + StringBuilder extraInfo = new StringBuilder(); if (sbn != null) { - mSbn = sbn.cloneLight(); - } else { - mSbn = null; + extraInfo.append(" Sbn="); + extraInfo.append(sbn); } if (ranking != null) { - mRanking = new Ranking(); - mRanking.populate(ranking); - } else { - mRanking = null; - } - - mMessage += getExtraInfo(); - } - - private String getExtraInfo() { - StringBuilder extraInfo = new StringBuilder(); - - if (mSbn != null) { - extraInfo.append(" Sbn="); - extraInfo.append(mSbn); - } - - if (mRanking != null) { extraInfo.append(" Ranking="); - extraInfo.append(mRanking); + extraInfo.append(ranking); } return extraInfo.toString(); @@ -106,13 +91,6 @@ public class NotifEvent extends RichEvent { return events; } - /** - * @return a copy of the status bar notification that changed with this event - */ - public StatusBarNotification getSbn() { - return mSbn; - } - /** * Builds a NotifEvent. */