diff options
| author | 2022-11-10 13:44:18 +0000 | |
|---|---|---|
| committer | 2022-11-10 13:44:18 +0000 | |
| commit | 33e735d76d8e227a2021617ffb125dad6b4d4008 (patch) | |
| tree | 036b8d258a806a04510c7a52f985d36ff659435e | |
| parent | 6071e70777f4965490eab337fef64e651a7c0b4b (diff) | |
| parent | 3a15cfb3c3599d1d678cdc89fad374b783fd2b9c (diff) | |
Merge "Fix potential crash when exit splash screen" am: 18b88655a4 am: f1ecd46905 am: 3a15cfb3c3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2292500
Change-Id: Iafef0da764d3a49170cc9c52f839fc313184d9ce
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/StartingSurfaceDrawer.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/StartingSurfaceDrawer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/StartingSurfaceDrawer.java index a0e176c7ea68..ff6f2b03c02c 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/StartingSurfaceDrawer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/StartingSurfaceDrawer.java @@ -430,7 +430,8 @@ public class StartingSurfaceDrawer { } @Override - public @Nullable SplashScreenView get() { + @Nullable + public SplashScreenView get() { synchronized (this) { while (!mIsViewSet) { try { @@ -691,7 +692,7 @@ public class StartingSurfaceDrawer { private final TaskSnapshotWindow mTaskSnapshotWindow; private SplashScreenView mContentView; private boolean mSetSplashScreen; - private @StartingWindowType int mSuggestType; + @StartingWindowType private int mSuggestType; private int mBGColor; private final long mCreateTime; private int mSystemBarAppearance; @@ -732,7 +733,7 @@ public class StartingSurfaceDrawer { // Reset the system bar color which set by splash screen, make it align to the app. private void clearSystemBarColor() { - if (mDecorView == null) { + if (mDecorView == null || !mDecorView.isAttachedToWindow()) { return; } if (mDecorView.getLayoutParams() instanceof WindowManager.LayoutParams) { |