summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Riddle Hsu <riddlehsu@google.com> 2024-11-08 09:06:55 +0000
committer Riddle Hsu <riddlehsu@google.com> 2024-11-08 09:06:55 +0000
commit131e58a377fb51c70790a08d89cc7bb31cb22ee0 (patch)
tree067a42068b71959f86e16c5e32d44cd5cd0eead8
parent66b4d2f754eae14facfadf5b2f1c34989e9f056c (diff)
Use rotation animation for display changes with only translucent targets
The common case could be a CLOSE transition without OPEN mode change. Because a closing translucent activity won't make visibility change to other activities. With a rotation animation, it looks better for an visible activity with orientation change, instead of a jumpcut. Bug: 377845272 Flag: EXEMPT bugfix Test: Put device in portrait. An orientation=unspecified activity starts another translucent landscape activity in the same task with makeSceneTransitionAnimation. Finish the landscape activity, there will be a rotation animation after the scene animation is done. Change-Id: Ie59c9d6352c60d677b4f25df1f37613a179a8b36
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java
index ec58292b352c..116936a550d8 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java
@@ -353,7 +353,7 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
boolean isSeamlessDisplayChange = false;
if (mode == TRANSIT_CHANGE && change.hasFlags(FLAG_IS_DISPLAY)) {
- if (info.getType() == TRANSIT_CHANGE) {
+ if (info.getType() == TRANSIT_CHANGE || isOnlyTranslucent) {
final int anim = getRotationAnimationHint(change, info, mDisplayController);
isSeamlessDisplayChange = anim == ROTATION_ANIMATION_SEAMLESS;
if (!(isSeamlessDisplayChange || anim == ROTATION_ANIMATION_JUMPCUT)) {