Merge changes Id9f50e84,I4d7f0497 into tm-qpr-dev am: 85fc0ce347 am: 5d4f557bf4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18379004

Change-Id: I1a1a05ae19c0449720dd378ca04cbb4f82703405
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jeff DeCew
2022-05-23 18:48:59 +00:00
committed by Automerger Merge Worker
2 changed files with 27 additions and 4 deletions

View File

@@ -609,12 +609,21 @@ public class NotifCollection implements Dumpable {
}
checkForReentrantCall();
NotificationEntry collectionEntry = getEntry(entry.getKey());
String logKey = logKey(entry);
String collectionEntryIs = collectionEntry == null ? "null"
: entry == collectionEntry ? "same" : "different";
if (entry != collectionEntry) {
// TODO: We should probably make this throw, but that's too risky right now
mLogger.logEntryBeingExtendedNotInCollection(entry, extender, collectionEntryIs);
}
if (!entry.mLifetimeExtenders.remove(extender)) {
throw mEulogizer.record(new IllegalStateException(
String.format(
"Cannot end lifetime extension for extender \"%s\" (%s)",
extender.getName(),
extender)));
String.format("Cannot end lifetime extension for extender \"%s\""
+ " of entry %s (collection entry is %s)",
extender.getName(), logKey, collectionEntryIs)));
}
mLogger.logLifetimeExtensionEnded(

View File

@@ -248,6 +248,20 @@ class NotifCollectionLogger @Inject constructor(
})
}
fun logEntryBeingExtendedNotInCollection(
entry: NotificationEntry,
extender: NotifLifetimeExtender,
collectionEntryIs: String
) {
buffer.log(TAG, WARNING, {
str1 = entry.logKey
str2 = extender.name
str3 = collectionEntryIs
}, {
"While ending lifetime extension by $str2 of $str1, entry in collection is $str3"
})
}
fun logFutureDismissalReused(dismissal: FutureDismissal) {
buffer.log(TAG, INFO, {
str1 = dismissal.label