Fix NPE in ActivityRecord.inSizeCompatMode()
- Since commit c3cb0cb, isSizeCompatMode is included in protoDump.
If ActivityMetricsLogger dumps log and the Activity is in detached
state, then 'parent' can be null.
Bug: 183043632
Test: atest AndroidCarApiTest in cf_x86_auto-userdebug
Change-Id: I823e787ce4f1c70736edcb10e043a4062a31e774
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index a909c6d..259dffd 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -6772,7 +6772,12 @@
// The app bounds hasn't been computed yet.
return false;
}
- final Configuration parentConfig = getParent().getConfiguration();
+ final WindowContainer parent = getParent();
+ if (parent == null) {
+ // The parent of detached Activity can be null.
+ return false;
+ }
+ final Configuration parentConfig = parent.getConfiguration();
// Although colorMode, screenLayout, smallestScreenWidthDp are also fixed, generally these
// fields should be changed with density and bounds, so here only compares the most
// significant field.