Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18646d58 authored by Shen Lin's avatar Shen Lin Committed by Jane Ha
Browse files

Fix potential crash when exit splash screen

- Make sure mDecorView is attached before calling its
  WindowInsetsController.
- Amend modifier declare sequence for a better code style.

Bug: 258270145
Bug: 256766422
Test: atest SplashscreenTests StartingSurfaceDrawerTests
Change-Id: I4d3b184252ed9516827812adfa0c76e07a6527e7
Merged-In: I4d3b184252ed9516827812adfa0c76e07a6527e7
parent 4c71a784
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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) {