diff options
13 files changed, 28 insertions, 147 deletions
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 756c7d39eabd..1a1de0341aa0 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -215,7 +215,6 @@ import com.android.server.wm.DisplayPolicy; import com.android.server.wm.DisplayRotation; import com.android.server.wm.WindowManagerInternal; import com.android.server.wm.WindowManagerInternal.AppTransitionListener; -import com.android.server.wm.WindowManagerService; import java.io.File; import java.io.FileNotFoundException; @@ -2082,20 +2081,10 @@ 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 transition, SysUI receives - // IRemoteAnimationRunner#onAnimationStart to start animation, so we don't - // need to call IKeyguardService#keyguardGoingAway and #setOccluded. - final boolean notifyOccluded = - !WindowManagerService.sEnableRemoteKeyguardOccludeAnimation - && keyguardOccluding; - final boolean startKeyguardExitAnimation = - !WindowManagerService.sEnableRemoteKeyguardGoingAwayAnimation - && keyguardGoingAway; - return handleTransitionForKeyguardLw(startKeyguardExitAnimation, - notifyOccluded, duration); + return handleTransitionForKeyguardLw(false /* startKeyguardExitAnimation */, + false /* notifyOccluded */); } @Override @@ -2104,7 +2093,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { // IKeyguardService calls to sync keyguard status in WindowManagerService and SysUI. handleTransitionForKeyguardLw( keyguardGoingAwayCancelled /* startKeyguardExitAnimation */, - true /* notifyOccluded */, 0 /* duration */); + true /* notifyOccluded */); } }); @@ -3292,17 +3281,16 @@ public class PhoneWindowManager implements WindowManagerPolicy { * start keyguard exit animation. * @param notifyOccluded Trigger IKeyguardService#setOccluded binder call to notify whether * the top activity can occlude the keyguard or not. - * @param duration the duration of the exit animation, in milliseconds. * * @return Whether the flags have changed and we have to redo the layout. */ private int handleTransitionForKeyguardLw(boolean startKeyguardExitAnimation, - boolean notifyOccluded, long duration) { + boolean notifyOccluded) { final int redoLayout = applyKeyguardOcclusionChange(notifyOccluded); if (redoLayout != 0) return redoLayout; if (startKeyguardExitAnimation) { if (DEBUG_KEYGUARD) Slog.d(TAG, "Starting keyguard exit animation"); - startKeyguardExitAnimation(SystemClock.uptimeMillis(), duration); + startKeyguardExitAnimation(SystemClock.uptimeMillis()); } return 0; } @@ -3544,11 +3532,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (isKeyguardOccluded() == isOccluded) { return false; } - - final boolean showing = mKeyguardDelegate.isShowing(); - final boolean animate = showing && !isOccluded; - mKeyguardDelegate.setOccluded(isOccluded, animate, notify); - return showing; + mKeyguardDelegate.setOccluded(isOccluded, notify); + return mKeyguardDelegate.isShowing(); } /** {@inheritDoc} */ @@ -4944,10 +4929,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 034bf1d5dfdb..2b0405073323 100644 --- a/services/core/java/com/android/server/policy/WindowManagerPolicy.java +++ b/services/core/java/com/android/server/policy/WindowManagerPolicy.java @@ -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 be98e93c57e3..c940a658015d 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(), @@ -491,14 +488,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 44f388b6ed39..4b0005d77e40 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; @@ -95,7 +91,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; @@ -297,7 +292,6 @@ public class AppTransitionController { final int flags = appTransition.getTransitFlags(); layoutRedo = appTransition.goodToGo(transit, topOpeningApp); - handleNonAppWindowsInTransition(transit, flags); appTransition.postAnimationCallback(); appTransition.clear(); } finally { @@ -1171,30 +1165,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/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java index 2f0c88758c3a..42fe8bc09454 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) { diff --git a/services/core/java/com/android/server/wm/RecentsAnimationController.java b/services/core/java/com/android/server/wm/RecentsAnimationController.java index cf5481466269..7bb57d827a43 100644 --- a/services/core/java/com/android/server/wm/RecentsAnimationController.java +++ b/services/core/java/com/android/server/wm/RecentsAnimationController.java @@ -161,8 +161,7 @@ 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; diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index 7da75f5e1b0c..84c2ced6e2fa 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,33 +1058,6 @@ 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( 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 e74ce946dcdb..d4d73ce62470 100644 --- a/services/core/java/com/android/server/wm/TransitionController.java +++ b/services/core/java/com/android/server/wm/TransitionController.java @@ -637,11 +637,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); } diff --git a/services/core/java/com/android/server/wm/WindowManagerInternal.java b/services/core/java/com/android/server/wm/WindowManagerInternal.java index 1f2c6cef9cc6..11475ac6150b 100644 --- a/services/core/java/com/android/server/wm/WindowManagerInternal.java +++ b/services/core/java/com/android/server/wm/WindowManagerInternal.java @@ -219,6 +219,7 @@ public abstract class WindowManagerInternal { /** * Called when a pending app transition gets cancelled. + * * @param keyguardGoingAwayCancelled {@code true} if keyguard going away transition was * cancelled. */ @@ -232,9 +233,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 +243,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 8e38e82753ba..8eae5f10f95d 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. */ 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 d4525d7109c9..13da1543cfb8 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java +++ b/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java @@ -310,7 +310,7 @@ class TestWindowManagerPolicy implements WindowManagerPolicy { } @Override - public void startKeyguardExitAnimation(long startTime, long fadeoutDuration) { + public void startKeyguardExitAnimation(long startTime) { } @Override |