Loading services/core/java/com/android/server/wm/AsyncRotationController.java +2 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,8 @@ class AsyncRotationController extends FadeAnimationController implements Consume } } else if (navigationBarCanMove || mTransitionOp == OP_CHANGE_MAY_SEAMLESS) { action = Operation.ACTION_SEAMLESS; } else if (mDisplayContent.mTransitionController.mNavigationBarAttachedToApp) { return; } mTargetWindowTokens.put(w.mToken, new Operation(action)); return; Loading services/core/java/com/android/server/wm/Transition.java +13 −6 Original line number Diff line number Diff line Loading @@ -234,9 +234,6 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { private @TransitionState int mState = STATE_PENDING; private final ReadyTracker mReadyTracker = new ReadyTracker(); // TODO(b/188595497): remove when not needed. /** @see RecentsAnimationController#mNavigationBarAttachedToApp */ private boolean mNavBarAttachedToApp = false; private int mRecentsDisplayId = INVALID_DISPLAY; /** The delay for light bar appearance animation. */ Loading Loading @@ -1781,7 +1778,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { if (navWindow == null || navWindow.mToken == null) { return; } mNavBarAttachedToApp = true; mController.mNavigationBarAttachedToApp = true; navWindow.mToken.cancelAnimation(); final SurfaceControl.Transaction t = navWindow.mToken.getPendingTransaction(); final SurfaceControl navSurfaceControl = navWindow.mToken.getSurfaceControl(); Loading @@ -1803,8 +1800,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { /** @see RecentsAnimationController#restoreNavigationBarFromApp */ void legacyRestoreNavigationBarFromApp() { if (!mNavBarAttachedToApp) return; mNavBarAttachedToApp = false; if (!mController.mNavigationBarAttachedToApp) { return; } mController.mNavigationBarAttachedToApp = false; if (mRecentsDisplayId == INVALID_DISPLAY) { Slog.e(TAG, "Reparented navigation bar without a valid display"); Loading Loading @@ -1837,6 +1836,11 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { break; } final AsyncRotationController asyncRotationController = dc.getAsyncRotationController(); if (asyncRotationController != null) { asyncRotationController.accept(navWindow); } if (animate) { final NavBarFadeAnimationController controller = new NavBarFadeAnimationController(dc); Loading @@ -1845,6 +1849,9 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { // Reparent the SurfaceControl of nav bar token back. t.reparent(navToken.getSurfaceControl(), parent.getSurfaceControl()); } // To apply transactions. dc.mWmService.scheduleAnimationLocked(); } private void reportStartReasonsToLogger() { Loading services/core/java/com/android/server/wm/TransitionController.java +5 −0 Original line number Diff line number Diff line Loading @@ -206,6 +206,11 @@ class TransitionController { */ boolean mBuildingFinishLayers = false; /** * Whether the surface of navigation bar token is reparented to an app. */ boolean mNavigationBarAttachedToApp = false; private boolean mAnimatingState = false; final Handler mLoggerHandler = FgThread.getHandler(); Loading Loading
services/core/java/com/android/server/wm/AsyncRotationController.java +2 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,8 @@ class AsyncRotationController extends FadeAnimationController implements Consume } } else if (navigationBarCanMove || mTransitionOp == OP_CHANGE_MAY_SEAMLESS) { action = Operation.ACTION_SEAMLESS; } else if (mDisplayContent.mTransitionController.mNavigationBarAttachedToApp) { return; } mTargetWindowTokens.put(w.mToken, new Operation(action)); return; Loading
services/core/java/com/android/server/wm/Transition.java +13 −6 Original line number Diff line number Diff line Loading @@ -234,9 +234,6 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { private @TransitionState int mState = STATE_PENDING; private final ReadyTracker mReadyTracker = new ReadyTracker(); // TODO(b/188595497): remove when not needed. /** @see RecentsAnimationController#mNavigationBarAttachedToApp */ private boolean mNavBarAttachedToApp = false; private int mRecentsDisplayId = INVALID_DISPLAY; /** The delay for light bar appearance animation. */ Loading Loading @@ -1781,7 +1778,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { if (navWindow == null || navWindow.mToken == null) { return; } mNavBarAttachedToApp = true; mController.mNavigationBarAttachedToApp = true; navWindow.mToken.cancelAnimation(); final SurfaceControl.Transaction t = navWindow.mToken.getPendingTransaction(); final SurfaceControl navSurfaceControl = navWindow.mToken.getSurfaceControl(); Loading @@ -1803,8 +1800,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { /** @see RecentsAnimationController#restoreNavigationBarFromApp */ void legacyRestoreNavigationBarFromApp() { if (!mNavBarAttachedToApp) return; mNavBarAttachedToApp = false; if (!mController.mNavigationBarAttachedToApp) { return; } mController.mNavigationBarAttachedToApp = false; if (mRecentsDisplayId == INVALID_DISPLAY) { Slog.e(TAG, "Reparented navigation bar without a valid display"); Loading Loading @@ -1837,6 +1836,11 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { break; } final AsyncRotationController asyncRotationController = dc.getAsyncRotationController(); if (asyncRotationController != null) { asyncRotationController.accept(navWindow); } if (animate) { final NavBarFadeAnimationController controller = new NavBarFadeAnimationController(dc); Loading @@ -1845,6 +1849,9 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { // Reparent the SurfaceControl of nav bar token back. t.reparent(navToken.getSurfaceControl(), parent.getSurfaceControl()); } // To apply transactions. dc.mWmService.scheduleAnimationLocked(); } private void reportStartReasonsToLogger() { Loading
services/core/java/com/android/server/wm/TransitionController.java +5 −0 Original line number Diff line number Diff line Loading @@ -206,6 +206,11 @@ class TransitionController { */ boolean mBuildingFinishLayers = false; /** * Whether the surface of navigation bar token is reparented to an app. */ boolean mNavigationBarAttachedToApp = false; private boolean mAnimatingState = false; final Handler mLoggerHandler = FgThread.getHandler(); Loading