From 29128c775438fd494a1a346f8ff26b9871ce3266 Mon Sep 17 00:00:00 2001 From: Mariia Sandrikova Date: Wed, 8 Jun 2022 22:15:07 +0000 Subject: [PATCH] Fix NPE caused by wrong initialization order. Fix: 234341630 Fix: 234820610 Test: manual Change-Id: If25671bb9dc8c6150bab71eb09b66ac97ebe0719 --- .../core/java/com/android/server/wm/ActivityRecord.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index f1f091a665e42..61a2323437d56 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -2068,6 +2068,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A launchMode = aInfo.launchMode; + // Don't move below setActivityType since it triggers onConfigurationChange -> + // resolveOverrideConfiguration that requires having mLetterboxUiController initialised. + mLetterboxUiController = new LetterboxUiController(mWmService, this); + mCameraCompatControlEnabled = mWmService.mContext.getResources() + .getBoolean(R.bool.config_isCameraCompatControlForStretchedIssuesEnabled); + setActivityType(_componentSpecified, _launchedFromUid, _intent, options, sourceRecord); immersive = (aInfo.flags & FLAG_IMMERSIVE) != 0; @@ -2096,9 +2102,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A mPersistentState = persistentState; taskDescription = _taskDescription; - mLetterboxUiController = new LetterboxUiController(mWmService, this); - mCameraCompatControlEnabled = mWmService.mContext.getResources() - .getBoolean(R.bool.config_isCameraCompatControlForStretchedIssuesEnabled); shouldDockBigOverlays = mWmService.mContext.getResources() .getBoolean(R.bool.config_dockBigOverlayWindows);