diff options
| author | 2022-08-22 09:31:42 +0000 | |
|---|---|---|
| committer | 2022-08-22 09:31:42 +0000 | |
| commit | a89970c9cdd2dbf7be9f64ec42cdfdc5e357ade5 (patch) | |
| tree | e36dddcb08646b1d8771ebea57ed9b79ae296237 | |
| parent | 33d5d471f492735f0821cffb89867d2062989781 (diff) | |
| parent | 8e5590600e5333c6f5744de25264c7b1e491d858 (diff) | |
Merge changes Ib103172b,I2f672fb6
* changes:
Remove flag for keyguard remote animations [2/n]
Remove flag for keyguard remote animations [1/n]
14 files changed, 83 insertions, 178 deletions
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 5816e984704e..1b46d4433e8c 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -2082,22 +2082,21 @@ public class PhoneWindowManager implements WindowManagerPolicy { mWindowManagerInternal.registerAppTransitionListener(new AppTransitionListener() { @Override - public int onAppTransitionStartingLocked(boolean keyguardGoingAway, - boolean keyguardOccluding, long duration, long statusBarAnimationStartTime, + public int onAppTransitionStartingLocked(long statusBarAnimationStartTime, long statusBarAnimationDuration) { - // When remote animation is enabled for KEYGUARD_GOING_AWAY transition, SysUI - // receives IRemoteAnimationRunner#onAnimationStart to start animation, so we don't - // need to call IKeyguardService#keyguardGoingAway here. - return handleStartTransitionForKeyguardLw(keyguardGoingAway - && !WindowManagerService.sEnableRemoteKeyguardGoingAwayAnimation, - keyguardOccluding, duration); + return handleTransitionForKeyguardLw(false /* startKeyguardExitAnimation */, + false /* notifyOccluded */); } @Override - public void onAppTransitionCancelledLocked(boolean keyguardGoingAway) { - handleStartTransitionForKeyguardLw( - keyguardGoingAway, false /* keyguardOccludingStarted */, - 0 /* duration */); + public void onAppTransitionCancelledLocked(boolean keyguardGoingAwayCancelled, + boolean keyguardOccludedCancelled) { + // When app KEYGUARD_GOING_AWAY or (UN)OCCLUDE app transition is canceled, we need + // to trigger relevant IKeyguardService calls to sync keyguard status in + // WindowManagerService and SysUI. + handleTransitionForKeyguardLw( + keyguardGoingAwayCancelled /* startKeyguardExitAnimation */, + keyguardOccludedCancelled /* notifyOccluded */); } }); @@ -3263,31 +3262,39 @@ public class PhoneWindowManager implements WindowManagerPolicy { mPendingKeyguardOccluded = occluded; mKeyguardOccludedChanged = true; } else { - setKeyguardOccludedLw(occluded, false /* force */, - false /* transitionStarted */); + setKeyguardOccludedLw(occluded, true /* notify */); } } @Override - public int applyKeyguardOcclusionChange(boolean transitionStarted) { + public int applyKeyguardOcclusionChange(boolean notify) { if (mKeyguardOccludedChanged) { if (DEBUG_KEYGUARD) Slog.d(TAG, "transition/occluded changed occluded=" + mPendingKeyguardOccluded); - if (setKeyguardOccludedLw(mPendingKeyguardOccluded, false /* force */, - transitionStarted)) { + if (setKeyguardOccludedLw(mPendingKeyguardOccluded, notify)) { return FINISH_LAYOUT_REDO_LAYOUT | FINISH_LAYOUT_REDO_WALLPAPER; } } return 0; } - private int handleStartTransitionForKeyguardLw(boolean keyguardGoingAway, - boolean keyguardOccluding, long duration) { - final int redoLayout = applyKeyguardOcclusionChange(keyguardOccluding); + /** + * Called when keyguard related app transition starts, or cancelled. + * + * @param startKeyguardExitAnimation Trigger IKeyguardService#startKeyguardExitAnimation to + * start keyguard exit animation. + * @param notifyOccluded Trigger IKeyguardService#setOccluded binder call to notify whether + * the top activity can occlude the keyguard or not. + * + * @return Whether the flags have changed and we have to redo the layout. + */ + private int handleTransitionForKeyguardLw(boolean startKeyguardExitAnimation, + boolean notifyOccluded) { + final int redoLayout = applyKeyguardOcclusionChange(notifyOccluded); if (redoLayout != 0) return redoLayout; - if (keyguardGoingAway) { + if (startKeyguardExitAnimation) { if (DEBUG_KEYGUARD) Slog.d(TAG, "Starting keyguard exit animation"); - startKeyguardExitAnimation(SystemClock.uptimeMillis(), duration); + startKeyguardExitAnimation(SystemClock.uptimeMillis()); } return 0; } @@ -3519,28 +3526,18 @@ public class PhoneWindowManager implements WindowManagerPolicy { * Updates the occluded state of the Keyguard. * * @param isOccluded Whether the Keyguard is occluded by another window. - * @param force notify the occluded status to KeyguardService and update flags even though - * occlude status doesn't change. - * @param transitionStarted {@code true} if keyguard (un)occluded transition started. + * @param notify Notify keyguard occlude status change immediately via + * {@link com.android.internal.policy.IKeyguardService}. * @return Whether the flags have changed and we have to redo the layout. */ - private boolean setKeyguardOccludedLw(boolean isOccluded, boolean force, - boolean transitionStarted) { + private boolean setKeyguardOccludedLw(boolean isOccluded, boolean notify) { if (DEBUG_KEYGUARD) Slog.d(TAG, "setKeyguardOccluded occluded=" + isOccluded); mKeyguardOccludedChanged = false; - if (isKeyguardOccluded() == isOccluded && !force) { + if (isKeyguardOccluded() == isOccluded) { return false; } - - final boolean showing = mKeyguardDelegate.isShowing(); - final boolean animate = showing && !isOccluded; - // When remote animation is enabled for keyguard (un)occlude transition, KeyguardService - // uses remote animation start as a signal to update its occlusion status ,so we don't need - // to notify here. - final boolean notify = !WindowManagerService.sEnableRemoteKeyguardOccludeAnimation - || !transitionStarted; - mKeyguardDelegate.setOccluded(isOccluded, animate, notify); - return showing; + mKeyguardDelegate.setOccluded(isOccluded, notify); + return mKeyguardDelegate.isShowing(); } /** {@inheritDoc} */ @@ -4936,10 +4933,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { } @Override - public void startKeyguardExitAnimation(long startTime, long fadeoutDuration) { + public void startKeyguardExitAnimation(long startTime) { if (mKeyguardDelegate != null) { if (DEBUG_KEYGUARD) Slog.d(TAG, "PWM.startKeyguardExitAnimation"); - mKeyguardDelegate.startKeyguardExitAnimation(startTime, fadeoutDuration); + mKeyguardDelegate.startKeyguardExitAnimation(startTime); } } diff --git a/services/core/java/com/android/server/policy/WindowManagerPolicy.java b/services/core/java/com/android/server/policy/WindowManagerPolicy.java index e8a3dcd5635f..6fcdb7de52be 100644 --- a/services/core/java/com/android/server/policy/WindowManagerPolicy.java +++ b/services/core/java/com/android/server/policy/WindowManagerPolicy.java @@ -171,10 +171,10 @@ public interface WindowManagerPolicy extends WindowManagerPolicyConstants { void onKeyguardOccludedChangedLw(boolean occluded); /** - * Applies a keyguard occlusion change if one happened. - * @param transitionStarted Whether keyguard (un)occlude transition is starting or not. + * @param notify {@code true} if the status change should be immediately notified via + * {@link com.android.internal.policy.IKeyguardService} */ - int applyKeyguardOcclusionChange(boolean transitionStarted); + int applyKeyguardOcclusionChange(boolean notify); /** * Interface to the Window Manager state associated with a particular @@ -1129,11 +1129,10 @@ public interface WindowManagerPolicy extends WindowManagerPolicyConstants { /** * Notifies the keyguard to start fading out. + * @param startTime the start time of the animation in uptime milliseconds * - * @param startTime the start time of the animation in uptime milliseconds - * @param fadeoutDuration the duration of the exit animation, in milliseconds */ - void startKeyguardExitAnimation(long startTime, long fadeoutDuration); + void startKeyguardExitAnimation(long startTime); /** * Called when System UI has been started. diff --git a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java index b79ac6f68be2..7737421654ee 100644 --- a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java +++ b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java @@ -249,10 +249,10 @@ public class KeyguardServiceDelegate { } } - public void setOccluded(boolean isOccluded, boolean animate, boolean notify) { + public void setOccluded(boolean isOccluded, boolean notify) { if (mKeyguardService != null && notify) { - if (DEBUG) Log.v(TAG, "setOccluded(" + isOccluded + ") animate=" + animate); - mKeyguardService.setOccluded(isOccluded, animate); + if (DEBUG) Log.v(TAG, "setOccluded(" + isOccluded + ")"); + mKeyguardService.setOccluded(isOccluded, false /* animate */); } mKeyguardState.occluded = isOccluded; } @@ -394,9 +394,9 @@ public class KeyguardServiceDelegate { } } - public void startKeyguardExitAnimation(long startTime, long fadeoutDuration) { + public void startKeyguardExitAnimation(long startTime) { if (mKeyguardService != null) { - mKeyguardService.startKeyguardExitAnimation(startTime, fadeoutDuration); + mKeyguardService.startKeyguardExitAnimation(startTime, 0); } } diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java index 55d6b2fe8226..95169dbd7092 100644 --- a/services/core/java/com/android/server/wm/AppTransition.java +++ b/services/core/java/com/android/server/wm/AppTransition.java @@ -375,9 +375,6 @@ public class AppTransition implements Dump { final AnimationAdapter topOpeningAnim = wc != null ? wc.getAnimation() : null; int redoLayout = notifyAppTransitionStartingLocked( - AppTransition.isKeyguardGoingAwayTransitOld(transit), - AppTransition.isKeyguardOccludeTransitOld(transit), - topOpeningAnim != null ? topOpeningAnim.getDurationHint() : 0, topOpeningAnim != null ? topOpeningAnim.getStatusBarTransitionsStartTime() : SystemClock.uptimeMillis(), @@ -416,8 +413,11 @@ public class AppTransition implements Dump { } void freeze() { - final boolean keyguardGoingAway = mNextAppTransitionRequests.contains( + final boolean keyguardGoingAwayCancelled = mNextAppTransitionRequests.contains( TRANSIT_KEYGUARD_GOING_AWAY); + final boolean keyguardOccludedCancelled = + mNextAppTransitionRequests.contains(TRANSIT_KEYGUARD_OCCLUDE) + || mNextAppTransitionRequests.contains(TRANSIT_KEYGUARD_UNOCCLUDE); // The RemoteAnimationControl didn't register AppTransitionListener and // only initialized the finish and timeout callback when goodToGo(). @@ -429,7 +429,7 @@ public class AppTransition implements Dump { mNextAppTransitionRequests.clear(); clear(); setReady(); - notifyAppTransitionCancelledLocked(keyguardGoingAway); + notifyAppTransitionCancelledLocked(keyguardGoingAwayCancelled, keyguardOccludedCancelled); } private void setAppTransitionState(int state) { @@ -479,9 +479,11 @@ public class AppTransition implements Dump { } } - private void notifyAppTransitionCancelledLocked(boolean keyguardGoingAway) { + private void notifyAppTransitionCancelledLocked(boolean keyguardGoingAwayCancelled, + boolean keyguardOccludedCancelled) { for (int i = 0; i < mListeners.size(); i++) { - mListeners.get(i).onAppTransitionCancelledLocked(keyguardGoingAway); + mListeners.get(i).onAppTransitionCancelledLocked(keyguardGoingAwayCancelled, + keyguardOccludedCancelled); } } @@ -491,14 +493,12 @@ public class AppTransition implements Dump { } } - private int notifyAppTransitionStartingLocked(boolean keyguardGoingAway, - boolean keyguardOcclude, long duration, long statusBarAnimationStartTime, + private int notifyAppTransitionStartingLocked(long statusBarAnimationStartTime, long statusBarAnimationDuration) { int redoLayout = 0; for (int i = 0; i < mListeners.size(); i++) { - redoLayout |= mListeners.get(i).onAppTransitionStartingLocked(keyguardGoingAway, - keyguardOcclude, duration, statusBarAnimationStartTime, - statusBarAnimationDuration); + redoLayout |= mListeners.get(i).onAppTransitionStartingLocked( + statusBarAnimationStartTime, statusBarAnimationDuration); } return redoLayout; } diff --git a/services/core/java/com/android/server/wm/AppTransitionController.java b/services/core/java/com/android/server/wm/AppTransitionController.java index 963345f2f49f..a645e89d700b 100644 --- a/services/core/java/com/android/server/wm/AppTransitionController.java +++ b/services/core/java/com/android/server/wm/AppTransitionController.java @@ -20,10 +20,6 @@ import static android.app.WindowConfiguration.ACTIVITY_TYPE_DREAM; import static android.view.WindowManager.TRANSIT_CHANGE; import static android.view.WindowManager.TRANSIT_CLOSE; import static android.view.WindowManager.TRANSIT_FLAG_APP_CRASHED; -import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION; -import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION; -import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE; -import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER; import static android.view.WindowManager.TRANSIT_FLAG_OPEN_BEHIND; import static android.view.WindowManager.TRANSIT_KEYGUARD_GOING_AWAY; import static android.view.WindowManager.TRANSIT_KEYGUARD_OCCLUDE; @@ -93,7 +89,6 @@ import android.view.WindowManager.LayoutParams; import android.view.WindowManager.TransitionFlags; import android.view.WindowManager.TransitionOldType; import android.view.WindowManager.TransitionType; -import android.view.animation.Animation; import android.window.ITaskFragmentOrganizer; import com.android.internal.annotations.VisibleForTesting; @@ -295,7 +290,6 @@ public class AppTransitionController { final int flags = appTransition.getTransitFlags(); layoutRedo = appTransition.goodToGo(transit, topOpeningApp); - handleNonAppWindowsInTransition(transit, flags); appTransition.postAnimationCallback(); appTransition.clear(); } finally { @@ -1143,30 +1137,6 @@ public class AppTransitionController { } } - private void handleNonAppWindowsInTransition(@TransitionOldType int transit, int flags) { - if (transit == TRANSIT_OLD_KEYGUARD_GOING_AWAY - && !WindowManagerService.sEnableRemoteKeyguardGoingAwayAnimation) { - if ((flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER) != 0 - && (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION) == 0 - && (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION) == 0) { - Animation anim = mService.mPolicy.createKeyguardWallpaperExit( - (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE) != 0); - if (anim != null) { - anim.scaleCurrentDuration(mService.getTransitionAnimationScaleLocked()); - mDisplayContent.mWallpaperController.startWallpaperAnimation(anim); - } - } - } - if ((transit == TRANSIT_OLD_KEYGUARD_GOING_AWAY - || transit == TRANSIT_OLD_KEYGUARD_GOING_AWAY_ON_WALLPAPER) - && !WindowManagerService.sEnableRemoteKeyguardGoingAwayAnimation) { - mDisplayContent.startKeyguardExitOnNonAppWindows( - transit == TRANSIT_OLD_KEYGUARD_GOING_AWAY_ON_WALLPAPER, - (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE) != 0, - (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION) != 0); - } - } - private boolean transitionGoodToGo(ArraySet<? extends WindowContainer> apps, ArrayMap<WindowContainer, Integer> outReasons) { ProtoLog.v(WM_DEBUG_APP_TRANSITIONS, diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index fa3fc9ffb69c..721497ea884e 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -6598,7 +6598,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp } @Override - public void onAppTransitionCancelledLocked(boolean keyguardGoingAway) { + public void onAppTransitionCancelledLocked(boolean keyguardGoingAwayCancelled, + boolean keyguardOccludedCancelled) { // It is only needed when freezing display in legacy transition. if (mTransitionController.isShellTransitionsEnabled()) return; continueUpdateOrientationForDiffOrienLaunchingApp(); diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java index 096ebe2fd080..05f4de19186e 100644 --- a/services/core/java/com/android/server/wm/DisplayPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayPolicy.java @@ -602,9 +602,8 @@ public class DisplayPolicy { } @Override - public int onAppTransitionStartingLocked(boolean keyguardGoingAway, - boolean keyguardOccluding, long duration, - long statusBarAnimationStartTime, long statusBarAnimationDuration) { + public int onAppTransitionStartingLocked(long statusBarAnimationStartTime, + long statusBarAnimationDuration) { mHandler.post(() -> { StatusBarManagerInternal statusBar = getStatusBarManagerInternal(); if (statusBar != null) { @@ -616,7 +615,8 @@ public class DisplayPolicy { } @Override - public void onAppTransitionCancelledLocked(boolean keyguardGoingAway) { + public void onAppTransitionCancelledLocked(boolean keyguardGoingAwayCancelled, + boolean keyguardOccludedCancelled) { mHandler.post(mAppTransitionCancelled); } diff --git a/services/core/java/com/android/server/wm/RecentsAnimationController.java b/services/core/java/com/android/server/wm/RecentsAnimationController.java index 5b702eac7059..db79eae1d80c 100644 --- a/services/core/java/com/android/server/wm/RecentsAnimationController.java +++ b/services/core/java/com/android/server/wm/RecentsAnimationController.java @@ -161,15 +161,15 @@ public class RecentsAnimationController implements DeathRecipient { */ final AppTransitionListener mAppTransitionListener = new AppTransitionListener() { @Override - public int onAppTransitionStartingLocked(boolean keyguardGoingAway, - boolean keyguardOccluding, long duration, long statusBarAnimationStartTime, + public int onAppTransitionStartingLocked(long statusBarAnimationStartTime, long statusBarAnimationDuration) { continueDeferredCancel(); return 0; } @Override - public void onAppTransitionCancelledLocked(boolean keyguardGoingAway) { + public void onAppTransitionCancelledLocked(boolean keyguardGoingAwayCancelled, + boolean keyguardOccludedCancelled) { continueDeferredCancel(); } diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index fa2ab31904a3..3a17e48f14a8 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -31,13 +31,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD; import static android.view.WindowManager.TRANSIT_CHANGE; import static android.view.WindowManager.TRANSIT_CLOSE; import static android.view.WindowManager.TRANSIT_FLAG_IS_RECENTS; -import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY; -import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION; -import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION; -import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE; -import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER; import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_LOCKED; -import static android.view.WindowManager.TRANSIT_KEYGUARD_GOING_AWAY; import static android.view.WindowManager.TRANSIT_OPEN; import static android.view.WindowManager.TRANSIT_TO_BACK; import static android.view.WindowManager.TRANSIT_TO_FRONT; @@ -72,7 +66,6 @@ import android.os.Binder; import android.os.IBinder; import android.os.IRemoteCallback; import android.os.RemoteException; -import android.os.SystemClock; import android.os.Trace; import android.util.ArrayMap; import android.util.ArraySet; @@ -80,7 +73,6 @@ import android.util.Slog; import android.util.SparseArray; import android.view.SurfaceControl; import android.view.WindowManager; -import android.view.animation.Animation; import android.window.RemoteTransition; import android.window.TransitionInfo; @@ -1066,36 +1058,9 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe private void handleNonAppWindowsInTransition(@NonNull DisplayContent dc, @TransitionType int transit, @TransitionFlags int flags) { - if ((transit == TRANSIT_KEYGUARD_GOING_AWAY - || (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY) != 0) - && !WindowManagerService.sEnableRemoteKeyguardGoingAwayAnimation) { - if ((flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER) != 0 - && (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION) == 0 - && (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION) == 0) { - Animation anim = mController.mAtm.mWindowManager.mPolicy - .createKeyguardWallpaperExit( - (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE) != 0); - if (anim != null) { - anim.scaleCurrentDuration( - mController.mAtm.mWindowManager.getTransitionAnimationScaleLocked()); - dc.mWallpaperController.startWallpaperAnimation(anim); - } - } - dc.startKeyguardExitOnNonAppWindows( - (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER) != 0, - (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE) != 0, - (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION) != 0); - if (!WindowManagerService.sEnableRemoteKeyguardGoingAwayAnimation) { - // When remote animation is enabled for KEYGUARD_GOING_AWAY transition, SysUI - // receives IRemoteAnimationRunner#onAnimationStart to start animation, so we don't - // need to call IKeyguardService#keyguardGoingAway here. - mController.mAtm.mWindowManager.mPolicy.startKeyguardExitAnimation( - SystemClock.uptimeMillis(), 0 /* duration */); - } - } if ((flags & TRANSIT_FLAG_KEYGUARD_LOCKED) != 0) { mController.mAtm.mWindowManager.mPolicy.applyKeyguardOcclusionChange( - true /* keyguardOccludingStarted */); + false /* notify */); } } diff --git a/services/core/java/com/android/server/wm/TransitionController.java b/services/core/java/com/android/server/wm/TransitionController.java index 4f324f22aa5e..79dfaa961bf2 100644 --- a/services/core/java/com/android/server/wm/TransitionController.java +++ b/services/core/java/com/android/server/wm/TransitionController.java @@ -638,11 +638,9 @@ class TransitionController { } void dispatchLegacyAppTransitionStarting(TransitionInfo info, long statusBarTransitionDelay) { - final boolean keyguardGoingAway = info.isKeyguardGoingAway(); for (int i = 0; i < mLegacyListeners.size(); ++i) { // TODO(shell-transitions): handle (un)occlude transition. - mLegacyListeners.get(i).onAppTransitionStartingLocked(keyguardGoingAway, - false /* keyguardOcclude */, 0 /* durationHint */, + mLegacyListeners.get(i).onAppTransitionStartingLocked( SystemClock.uptimeMillis() + statusBarTransitionDelay, AnimationAdapter.STATUS_BAR_TRANSITION_DURATION); } @@ -657,7 +655,7 @@ class TransitionController { void dispatchLegacyAppTransitionCancelled() { for (int i = 0; i < mLegacyListeners.size(); ++i) { mLegacyListeners.get(i).onAppTransitionCancelledLocked( - false /* keyguardGoingAway */); + false /* keyguardGoingAwayCancelled */, false /* keyguardOccludedCancelled */); } } diff --git a/services/core/java/com/android/server/wm/WindowManagerInternal.java b/services/core/java/com/android/server/wm/WindowManagerInternal.java index a71c3866ba38..4b5b6dad4fc4 100644 --- a/services/core/java/com/android/server/wm/WindowManagerInternal.java +++ b/services/core/java/com/android/server/wm/WindowManagerInternal.java @@ -220,9 +220,13 @@ public abstract class WindowManagerInternal { /** * Called when a pending app transition gets cancelled. * - * @param keyguardGoingAway true if keyguard going away transition got cancelled. + * @param keyguardGoingAwayCancelled {@code true} if keyguard going away transition was + * cancelled. + * @param keyguardOccludedCancelled {@code true} if keyguard (un)occluded transition was + * cancelled. */ - public void onAppTransitionCancelledLocked(boolean keyguardGoingAway) {} + public void onAppTransitionCancelledLocked(boolean keyguardGoingAwayCancelled, + boolean keyguardOccludedCancelled) {} /** * Called when an app transition is timed out. @@ -232,9 +236,6 @@ public abstract class WindowManagerInternal { /** * Called when an app transition gets started * - * @param keyguardGoingAway true if keyguard going away transition is started. - * @param keyguardOccluding true if keyguard (un)occlude transition is started. - * @param duration the total duration of the transition * @param statusBarAnimationStartTime the desired start time for all visual animations in * the status bar caused by this app transition in uptime millis * @param statusBarAnimationDuration the duration for all visual animations in the status @@ -245,8 +246,7 @@ public abstract class WindowManagerInternal { * {@link WindowManagerPolicy#FINISH_LAYOUT_REDO_WALLPAPER}, * or {@link WindowManagerPolicy#FINISH_LAYOUT_REDO_ANIM}. */ - public int onAppTransitionStartingLocked(boolean keyguardGoingAway, - boolean keyguardOccluding, long duration, long statusBarAnimationStartTime, + public int onAppTransitionStartingLocked(long statusBarAnimationStartTime, long statusBarAnimationDuration) { return 0; } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 22411bb068a0..298f93d75e7a 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -425,32 +425,6 @@ public class WindowManagerService extends IWindowManager.Stub SystemProperties.getBoolean(ENABLE_SHELL_TRANSITIONS, false); /** - * Run Keyguard animation as remote animation in System UI instead of local animation in - * the server process. - * - * 0: Runs all keyguard animation as local animation - * 1: Only runs keyguard going away animation as remote animation - * 2: Runs all keyguard animation as remote animation - */ - private static final String ENABLE_REMOTE_KEYGUARD_ANIMATION_PROPERTY = - "persist.wm.enable_remote_keyguard_animation"; - - private static final int sEnableRemoteKeyguardAnimation = - SystemProperties.getInt(ENABLE_REMOTE_KEYGUARD_ANIMATION_PROPERTY, 2); - - /** - * @see #ENABLE_REMOTE_KEYGUARD_ANIMATION_PROPERTY - */ - public static final boolean sEnableRemoteKeyguardGoingAwayAnimation = - sEnableRemoteKeyguardAnimation >= 1; - - /** - * @see #ENABLE_REMOTE_KEYGUARD_ANIMATION_PROPERTY - */ - public static final boolean sEnableRemoteKeyguardOccludeAnimation = - sEnableRemoteKeyguardAnimation >= 2; - - /** * Allows a fullscreen windowing mode activity to launch in its desired orientation directly * when the display has different orientation. */ @@ -1118,7 +1092,8 @@ public class WindowManagerService extends IWindowManager.Stub = new WindowManagerInternal.AppTransitionListener() { @Override - public void onAppTransitionCancelledLocked(boolean keyguardGoingAway) { + public void onAppTransitionCancelledLocked(boolean keyguardGoingAwayCancelled, + boolean keyguardOccludedCancelled) { } @Override diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java index 8546763aebec..88e58eab58aa 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java @@ -281,7 +281,7 @@ public class RecentsAnimationControllerTest extends WindowTestsBase { verify(mMockRunner).onAnimationCanceled(null /* taskIds */, null /* taskSnapshots */); // Simulate the app transition finishing - mController.mAppTransitionListener.onAppTransitionStartingLocked(false, false, 0, 0, 0); + mController.mAppTransitionListener.onAppTransitionStartingLocked(0, 0); verify(mAnimationCallbacks).onAnimationFinished(REORDER_KEEP_IN_PLACE, false); } diff --git a/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java b/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java index 851be9d77348..030af308a520 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java +++ b/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java @@ -310,11 +310,11 @@ class TestWindowManagerPolicy implements WindowManagerPolicy { } @Override - public void startKeyguardExitAnimation(long startTime, long fadeoutDuration) { + public void startKeyguardExitAnimation(long startTime) { } @Override - public int applyKeyguardOcclusionChange(boolean keyguardOccludingStarted) { + public int applyKeyguardOcclusionChange(boolean notify) { return 0; } |