Loading services/core/java/com/android/server/wm/ActivityClientController.java +1 −1 Original line number Diff line number Diff line Loading @@ -1088,7 +1088,7 @@ class ActivityClientController extends IActivityClientController.Stub { final ActivityRecord r = ActivityRecord.isInRootTaskLocked(token); if (r != null && r.isState(RESUMED, PAUSING)) { r.mDisplayContent.mAppTransition.overridePendingAppTransition( packageName, enterAnim, exitAnim, null, null, packageName, enterAnim, exitAnim, backgroundColor, null, null, r.mOverrideTaskTransition); r.mTransitionController.setOverrideAnimation( TransitionInfo.AnimationOptions.makeCustomAnimOptions(packageName, Loading services/core/java/com/android/server/wm/ActivityRecord.java +1 −0 Original line number Diff line number Diff line Loading @@ -4516,6 +4516,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A pendingOptions.getPackageName(), pendingOptions.getCustomEnterResId(), pendingOptions.getCustomExitResId(), pendingOptions.getCustomBackgroundColor(), pendingOptions.getAnimationStartedListener(), pendingOptions.getAnimationFinishedListener(), pendingOptions.getOverrideTaskTransition()); Loading services/core/java/com/android/server/wm/AnimationAdapter.java +16 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,22 @@ interface AnimationAdapter { */ boolean getShowWallpaper(); /** * @return Whether we should show a background behind the animating windows. * @see Animation#getShowBackground() */ default boolean getShowBackground() { return false; } /** * @return The background color to use during an animation if getShowBackground returns true. * @see Animation#getBackgroundColor() */ default int getBackgroundColor() { return 0; } /** * Requests to start the animation. * Loading services/core/java/com/android/server/wm/AppTransition.java +11 −2 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ import static com.android.server.wm.WindowManagerInternal.KeyguardExitAnimationS import static com.android.server.wm.WindowStateAnimator.ROOT_TASK_CLIP_AFTER_ANIM; import static com.android.server.wm.WindowStateAnimator.ROOT_TASK_CLIP_NONE; import android.annotation.ColorInt; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.ComponentName; Loading Loading @@ -198,6 +199,7 @@ public class AppTransition implements Dump { private IRemoteCallback mAnimationFinishedCallback; private int mNextAppTransitionEnter; private int mNextAppTransitionExit; private @ColorInt int mNextAppTransitionBackgroundColor; private int mNextAppTransitionInPlace; private boolean mNextAppTransitionIsSync; Loading Loading @@ -829,6 +831,7 @@ public class AppTransition implements Dump { break; } a = animAttr != 0 ? loadAnimationAttr(lp, animAttr, transit) : null; ProtoLog.v(WM_DEBUG_APP_TRANSITIONS_ANIM, "applyAnimation: anim=%s animAttr=0x%x transit=%s isEntrance=%b " + "Callers=%s", Loading @@ -836,6 +839,11 @@ public class AppTransition implements Dump { Debug.getCallers(3)); } setAppTransitionFinishedCallbackIfNeeded(a); if (mNextAppTransitionBackgroundColor != 0) { a.setBackgroundColor(mNextAppTransitionBackgroundColor); } return a; } Loading @@ -861,14 +869,15 @@ public class AppTransition implements Dump { } void overridePendingAppTransition(String packageName, int enterAnim, int exitAnim, IRemoteCallback startedCallback, IRemoteCallback endedCallback, boolean overrideTaskTransaction) { @ColorInt int backgroundColor, IRemoteCallback startedCallback, IRemoteCallback endedCallback, boolean overrideTaskTransaction) { if (canOverridePendingAppTransition()) { clear(); mNextAppTransitionOverrideRequested = true; mNextAppTransitionPackage = packageName; mNextAppTransitionEnter = enterAnim; mNextAppTransitionExit = exitAnim; mNextAppTransitionBackgroundColor = backgroundColor; postAnimationCallback(); mNextAppTransitionCallback = startedCallback; mAnimationFinishedCallback = endedCallback; Loading services/core/java/com/android/server/wm/LocalAnimationAdapter.java +24 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,16 @@ class LocalAnimationAdapter implements AnimationAdapter { return mSpec.getShowWallpaper(); } @Override public boolean getShowBackground() { return mSpec.getShowBackground(); } @Override public int getBackgroundColor() { return mSpec.getBackgroundColor(); } @Override public void startAnimation(SurfaceControl animationLeash, Transaction t, @AnimationType int type, @NonNull OnAnimationFinishedCallback finishCallback) { Loading Loading @@ -96,6 +106,20 @@ class LocalAnimationAdapter implements AnimationAdapter { return false; } /** * @see AnimationAdapter#getShowBackground */ default boolean getShowBackground() { return false; } /** * @see AnimationAdapter#getBackgroundColor */ default int getBackgroundColor() { return 0; } /** * @see AnimationAdapter#getStatusBarTransitionsStartTime */ Loading Loading
services/core/java/com/android/server/wm/ActivityClientController.java +1 −1 Original line number Diff line number Diff line Loading @@ -1088,7 +1088,7 @@ class ActivityClientController extends IActivityClientController.Stub { final ActivityRecord r = ActivityRecord.isInRootTaskLocked(token); if (r != null && r.isState(RESUMED, PAUSING)) { r.mDisplayContent.mAppTransition.overridePendingAppTransition( packageName, enterAnim, exitAnim, null, null, packageName, enterAnim, exitAnim, backgroundColor, null, null, r.mOverrideTaskTransition); r.mTransitionController.setOverrideAnimation( TransitionInfo.AnimationOptions.makeCustomAnimOptions(packageName, Loading
services/core/java/com/android/server/wm/ActivityRecord.java +1 −0 Original line number Diff line number Diff line Loading @@ -4516,6 +4516,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A pendingOptions.getPackageName(), pendingOptions.getCustomEnterResId(), pendingOptions.getCustomExitResId(), pendingOptions.getCustomBackgroundColor(), pendingOptions.getAnimationStartedListener(), pendingOptions.getAnimationFinishedListener(), pendingOptions.getOverrideTaskTransition()); Loading
services/core/java/com/android/server/wm/AnimationAdapter.java +16 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,22 @@ interface AnimationAdapter { */ boolean getShowWallpaper(); /** * @return Whether we should show a background behind the animating windows. * @see Animation#getShowBackground() */ default boolean getShowBackground() { return false; } /** * @return The background color to use during an animation if getShowBackground returns true. * @see Animation#getBackgroundColor() */ default int getBackgroundColor() { return 0; } /** * Requests to start the animation. * Loading
services/core/java/com/android/server/wm/AppTransition.java +11 −2 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ import static com.android.server.wm.WindowManagerInternal.KeyguardExitAnimationS import static com.android.server.wm.WindowStateAnimator.ROOT_TASK_CLIP_AFTER_ANIM; import static com.android.server.wm.WindowStateAnimator.ROOT_TASK_CLIP_NONE; import android.annotation.ColorInt; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.ComponentName; Loading Loading @@ -198,6 +199,7 @@ public class AppTransition implements Dump { private IRemoteCallback mAnimationFinishedCallback; private int mNextAppTransitionEnter; private int mNextAppTransitionExit; private @ColorInt int mNextAppTransitionBackgroundColor; private int mNextAppTransitionInPlace; private boolean mNextAppTransitionIsSync; Loading Loading @@ -829,6 +831,7 @@ public class AppTransition implements Dump { break; } a = animAttr != 0 ? loadAnimationAttr(lp, animAttr, transit) : null; ProtoLog.v(WM_DEBUG_APP_TRANSITIONS_ANIM, "applyAnimation: anim=%s animAttr=0x%x transit=%s isEntrance=%b " + "Callers=%s", Loading @@ -836,6 +839,11 @@ public class AppTransition implements Dump { Debug.getCallers(3)); } setAppTransitionFinishedCallbackIfNeeded(a); if (mNextAppTransitionBackgroundColor != 0) { a.setBackgroundColor(mNextAppTransitionBackgroundColor); } return a; } Loading @@ -861,14 +869,15 @@ public class AppTransition implements Dump { } void overridePendingAppTransition(String packageName, int enterAnim, int exitAnim, IRemoteCallback startedCallback, IRemoteCallback endedCallback, boolean overrideTaskTransaction) { @ColorInt int backgroundColor, IRemoteCallback startedCallback, IRemoteCallback endedCallback, boolean overrideTaskTransaction) { if (canOverridePendingAppTransition()) { clear(); mNextAppTransitionOverrideRequested = true; mNextAppTransitionPackage = packageName; mNextAppTransitionEnter = enterAnim; mNextAppTransitionExit = exitAnim; mNextAppTransitionBackgroundColor = backgroundColor; postAnimationCallback(); mNextAppTransitionCallback = startedCallback; mAnimationFinishedCallback = endedCallback; Loading
services/core/java/com/android/server/wm/LocalAnimationAdapter.java +24 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,16 @@ class LocalAnimationAdapter implements AnimationAdapter { return mSpec.getShowWallpaper(); } @Override public boolean getShowBackground() { return mSpec.getShowBackground(); } @Override public int getBackgroundColor() { return mSpec.getBackgroundColor(); } @Override public void startAnimation(SurfaceControl animationLeash, Transaction t, @AnimationType int type, @NonNull OnAnimationFinishedCallback finishCallback) { Loading Loading @@ -96,6 +106,20 @@ class LocalAnimationAdapter implements AnimationAdapter { return false; } /** * @see AnimationAdapter#getShowBackground */ default boolean getShowBackground() { return false; } /** * @see AnimationAdapter#getBackgroundColor */ default int getBackgroundColor() { return 0; } /** * @see AnimationAdapter#getStatusBarTransitionsStartTime */ Loading