Refactor Archive-related bit of dumpImpl into Archive.
This allows for actually locking the buffer iteration with mBufferLock to avoid accidental concurrent access. Test: atest NotificationManagerServiceTest; manually inspected dumpsys Bug: 186860793 Change-Id: I6a97a74833f57ec45c118fcfc63f628703ec2557
This commit is contained in:
@@ -645,7 +645,7 @@ public class NotificationManagerService extends SystemService {
|
||||
sb.append("Archive (");
|
||||
sb.append(N);
|
||||
sb.append(" notification");
|
||||
sb.append((N==1)?")":"s)");
|
||||
sb.append((N == 1) ? ")" : "s)");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@@ -718,6 +718,22 @@ public class NotificationManagerService extends SystemService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void dumpImpl(PrintWriter pw, @NonNull DumpFilter filter) {
|
||||
synchronized (mBufferLock) {
|
||||
Iterator<Pair<StatusBarNotification, Integer>> iter = descendingIterator();
|
||||
int i = 0;
|
||||
while (iter.hasNext()) {
|
||||
final StatusBarNotification sbn = iter.next().first;
|
||||
if (filter != null && !filter.matches(sbn)) continue;
|
||||
pw.println(" " + sbn);
|
||||
if (++i >= 5) {
|
||||
if (iter.hasNext()) pw.println(" ...");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void loadDefaultApprovedServices(int userId) {
|
||||
@@ -5928,17 +5944,7 @@ public class NotificationManagerService extends SystemService {
|
||||
+ mPreferencesHelper.shouldHideSilentStatusIcons());
|
||||
}
|
||||
pw.println(" mArchive=" + mArchive.toString());
|
||||
Iterator<Pair<StatusBarNotification, Integer>> iter = mArchive.descendingIterator();
|
||||
int j=0;
|
||||
while (iter.hasNext()) {
|
||||
final StatusBarNotification sbn = iter.next().first;
|
||||
if (filter != null && !filter.matches(sbn)) continue;
|
||||
pw.println(" " + sbn);
|
||||
if (++j >= 5) {
|
||||
if (iter.hasNext()) pw.println(" ...");
|
||||
break;
|
||||
}
|
||||
}
|
||||
mArchive.dumpImpl(pw, filter);
|
||||
|
||||
if (!zenOnly) {
|
||||
N = mEnqueuedNotifications.size();
|
||||
|
||||
Reference in New Issue
Block a user