Log when child views are freed

This log was missing and made it harder to tell what was happening when debugging the given bug

Bug: 240857315
Test: dumpsysui NotifLog
Change-Id: Ie1c25aa682858c88b9afb33cf5fe74d92d7db9b6
This commit is contained in:
Jeff DeCew
2022-08-02 10:11:25 +00:00
parent 64f07c0057
commit 9e25f0929c
2 changed files with 15 additions and 5 deletions

View File

@@ -286,7 +286,7 @@ public class PreparationCoordinator implements Coordinator {
if (isInflated(child)) {
// TODO: May want to put an animation hint here so view manager knows to treat
// this differently from a regular removal animation
freeNotifViews(child);
freeNotifViews(child, "Past last visible group child");
}
}
}
@@ -379,7 +379,8 @@ public class PreparationCoordinator implements Coordinator {
mNotifInflatingFilter.invalidateList("onInflationFinished for " + logKey(entry));
}
private void freeNotifViews(NotificationEntry entry) {
private void freeNotifViews(NotificationEntry entry, String reason) {
mLogger.logFreeNotifViews(entry, reason);
mViewBarn.removeViewForEntry(entry);
mNotifInflater.releaseViews(entry);
// TODO: clear the entry's row here, or even better, stop setting the row on the entry!

View File

@@ -31,7 +31,7 @@ class PreparationCoordinatorLogger @Inject constructor(
buffer.log(TAG, LogLevel.DEBUG, {
str1 = entry.logKey
}, {
"NOTIF INFLATED $str1"
"Inflation completed for notif $str1"
})
}
@@ -40,7 +40,16 @@ class PreparationCoordinatorLogger @Inject constructor(
str1 = entry.logKey
str2 = reason
}, {
"NOTIF INFLATION ABORTED $str1 reason=$str2"
"Infation aborted for notif $str1 reason=$str2"
})
}
fun logFreeNotifViews(entry: NotificationEntry, reason: String) {
buffer.log(TAG, LogLevel.DEBUG, {
str1 = entry.logKey
str2 = reason
}, {
"Freeing content views for notif $str1 reason=$str2"
})
}
@@ -70,4 +79,4 @@ class PreparationCoordinatorLogger @Inject constructor(
}
}
private const val TAG = "PreparationCoordinator"
private const val TAG = "PreparationCoordinator"