Loading libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashScreenExitAnimation.java +19 −12 Original line number Diff line number Diff line Loading @@ -235,7 +235,8 @@ public class SplashScreenExitAnimation implements Animator.AnimatorListener { } void onAnimationProgress(float linearProgress) { if (mFirstWindowSurface == null || !mFirstWindowSurface.isValid()) { if (mFirstWindowSurface == null || !mFirstWindowSurface.isValid() || !mSplashScreenView.isAttachedToWindow()) { return; } Loading Loading @@ -267,6 +268,7 @@ public class SplashScreenExitAnimation implements Animator.AnimatorListener { return; } final SurfaceControl.Transaction tx = mTransactionPool.acquire(); if (mSplashScreenView.isAttachedToWindow()) { tx.setFrameTimelineVsync(Choreographer.getSfInstance().getVsyncId()); SyncRtSurfaceTransactionApplier.SurfaceParams Loading @@ -276,6 +278,10 @@ public class SplashScreenExitAnimation implements Animator.AnimatorListener { .withMergeTransaction(tx) .build(); mApplier.scheduleApply(params); } else { tx.setWindowCrop(mFirstWindowSurface, null); tx.apply(); } mTransactionPool.release(tx); Choreographer.getSfInstance().postCallback(CALLBACK_COMMIT, Loading @@ -287,13 +293,14 @@ public class SplashScreenExitAnimation implements Animator.AnimatorListener { if (DEBUG_EXIT_ANIMATION) { Slog.v(TAG, "vanish animation finished"); } mSplashScreenView.post(() -> { if (mSplashScreenView.isAttachedToWindow()) { mSplashScreenView.setVisibility(GONE); if (mFinishCallback != null) { mFinishCallback.run(); mFinishCallback = null; } }); } if (mShiftUpAnimation != null) { mShiftUpAnimation.finish(); } Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashScreenExitAnimation.java +19 −12 Original line number Diff line number Diff line Loading @@ -235,7 +235,8 @@ public class SplashScreenExitAnimation implements Animator.AnimatorListener { } void onAnimationProgress(float linearProgress) { if (mFirstWindowSurface == null || !mFirstWindowSurface.isValid()) { if (mFirstWindowSurface == null || !mFirstWindowSurface.isValid() || !mSplashScreenView.isAttachedToWindow()) { return; } Loading Loading @@ -267,6 +268,7 @@ public class SplashScreenExitAnimation implements Animator.AnimatorListener { return; } final SurfaceControl.Transaction tx = mTransactionPool.acquire(); if (mSplashScreenView.isAttachedToWindow()) { tx.setFrameTimelineVsync(Choreographer.getSfInstance().getVsyncId()); SyncRtSurfaceTransactionApplier.SurfaceParams Loading @@ -276,6 +278,10 @@ public class SplashScreenExitAnimation implements Animator.AnimatorListener { .withMergeTransaction(tx) .build(); mApplier.scheduleApply(params); } else { tx.setWindowCrop(mFirstWindowSurface, null); tx.apply(); } mTransactionPool.release(tx); Choreographer.getSfInstance().postCallback(CALLBACK_COMMIT, Loading @@ -287,13 +293,14 @@ public class SplashScreenExitAnimation implements Animator.AnimatorListener { if (DEBUG_EXIT_ANIMATION) { Slog.v(TAG, "vanish animation finished"); } mSplashScreenView.post(() -> { if (mSplashScreenView.isAttachedToWindow()) { mSplashScreenView.setVisibility(GONE); if (mFinishCallback != null) { mFinishCallback.run(); mFinishCallback = null; } }); } if (mShiftUpAnimation != null) { mShiftUpAnimation.finish(); } Loading