Loading libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationSpec.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -255,7 +255,7 @@ class ActivityEmbeddingAnimationSpec { private boolean shouldShowBackdrop(@NonNull TransitionInfo info, private boolean shouldShowBackdrop(@NonNull TransitionInfo info, @NonNull TransitionInfo.Change change) { @NonNull TransitionInfo.Change change) { final Animation a = loadAttributeAnimation(info, change, WALLPAPER_TRANSITION_NONE, final Animation a = loadAttributeAnimation(info, change, WALLPAPER_TRANSITION_NONE, mTransitionAnimation); mTransitionAnimation, false); return a != null && a.getShowBackdrop(); return a != null && a.getShowBackdrop(); } } } } libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java +20 −3 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static android.app.ActivityOptions.ANIM_SCALE_UP; import static android.app.ActivityOptions.ANIM_SCENE_TRANSITION; import static android.app.ActivityOptions.ANIM_SCENE_TRANSITION; import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_DOWN; import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_DOWN; import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_UP; import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_UP; import static android.app.WindowConfiguration.ACTIVITY_TYPE_DREAM; import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED; import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED; import static android.app.admin.DevicePolicyManager.ACTION_DEVICE_POLICY_RESOURCE_UPDATED; import static android.app.admin.DevicePolicyManager.ACTION_DEVICE_POLICY_RESOURCE_UPDATED; import static android.app.admin.DevicePolicyManager.EXTRA_RESOURCE_TYPE; import static android.app.admin.DevicePolicyManager.EXTRA_RESOURCE_TYPE; Loading Loading @@ -329,6 +330,8 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { @ColorInt int backgroundColorForTransition = 0; @ColorInt int backgroundColorForTransition = 0; final int wallpaperTransit = getWallpaperTransitType(info); final int wallpaperTransit = getWallpaperTransitType(info); boolean isDisplayRotationAnimationStarted = false; boolean isDisplayRotationAnimationStarted = false; final boolean isDreamTransition = isDreamTransition(info); for (int i = info.getChanges().size() - 1; i >= 0; --i) { for (int i = info.getChanges().size() - 1; i >= 0; --i) { final TransitionInfo.Change change = info.getChanges().get(i); final TransitionInfo.Change change = info.getChanges().get(i); if (change.hasAllFlags(FLAG_IN_TASK_WITH_EMBEDDED_ACTIVITY if (change.hasAllFlags(FLAG_IN_TASK_WITH_EMBEDDED_ACTIVITY Loading Loading @@ -424,7 +427,7 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { // Don't animate anything that isn't independent. // Don't animate anything that isn't independent. if (!TransitionInfo.isIndependent(change, info)) continue; if (!TransitionInfo.isIndependent(change, info)) continue; Animation a = loadAnimation(info, change, wallpaperTransit); Animation a = loadAnimation(info, change, wallpaperTransit, isDreamTransition); if (a != null) { if (a != null) { if (isTask) { if (isTask) { final @TransitionType int type = info.getType(); final @TransitionType int type = info.getType(); Loading Loading @@ -519,6 +522,18 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { return true; return true; } } private static boolean isDreamTransition(@NonNull TransitionInfo info) { for (int i = info.getChanges().size() - 1; i >= 0; --i) { final TransitionInfo.Change change = info.getChanges().get(i); if (change.getTaskInfo() != null && change.getTaskInfo().topActivityType == ACTIVITY_TYPE_DREAM) { return true; } } return false; } @Override @Override public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info, public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info, @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget, @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget, Loading Loading @@ -572,7 +587,8 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { @Nullable @Nullable private Animation loadAnimation(@NonNull TransitionInfo info, private Animation loadAnimation(@NonNull TransitionInfo info, @NonNull TransitionInfo.Change change, int wallpaperTransit) { @NonNull TransitionInfo.Change change, int wallpaperTransit, boolean isDreamTransition) { Animation a; Animation a; final int type = info.getType(); final int type = info.getType(); Loading Loading @@ -630,7 +646,8 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { // If there's a scene-transition, then jump-cut. // If there's a scene-transition, then jump-cut. return null; return null; } else { } else { a = loadAttributeAnimation(info, change, wallpaperTransit, mTransitionAnimation); a = loadAttributeAnimation( info, change, wallpaperTransit, mTransitionAnimation, isDreamTransition); } } if (a != null) { if (a != null) { Loading libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java +2 −5 Original line number Original line Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.wm.shell.transition; import static android.app.ActivityOptions.ANIM_FROM_STYLE; import static android.app.ActivityOptions.ANIM_FROM_STYLE; import static android.app.ActivityOptions.ANIM_NONE; import static android.app.ActivityOptions.ANIM_NONE; import static android.app.WindowConfiguration.ACTIVITY_TYPE_DREAM; import static android.view.WindowManager.TRANSIT_CLOSE; import static android.view.WindowManager.TRANSIT_CLOSE; import static android.view.WindowManager.TRANSIT_OPEN; import static android.view.WindowManager.TRANSIT_OPEN; import static android.view.WindowManager.TRANSIT_TO_BACK; import static android.view.WindowManager.TRANSIT_TO_BACK; Loading Loading @@ -63,7 +62,7 @@ public class TransitionAnimationHelper { @Nullable @Nullable public static Animation loadAttributeAnimation(@NonNull TransitionInfo info, public static Animation loadAttributeAnimation(@NonNull TransitionInfo info, @NonNull TransitionInfo.Change change, int wallpaperTransit, @NonNull TransitionInfo.Change change, int wallpaperTransit, @NonNull TransitionAnimation transitionAnimation) { @NonNull TransitionAnimation transitionAnimation, boolean isDreamTransition) { final int type = info.getType(); final int type = info.getType(); final int changeMode = change.getMode(); final int changeMode = change.getMode(); final int changeFlags = change.getFlags(); final int changeFlags = change.getFlags(); Loading @@ -71,11 +70,9 @@ public class TransitionAnimationHelper { final boolean isTask = change.getTaskInfo() != null; final boolean isTask = change.getTaskInfo() != null; final TransitionInfo.AnimationOptions options = info.getAnimationOptions(); final TransitionInfo.AnimationOptions options = info.getAnimationOptions(); final int overrideType = options != null ? options.getType() : ANIM_NONE; final int overrideType = options != null ? options.getType() : ANIM_NONE; final boolean isDream = isTask && change.getTaskInfo().topActivityType == ACTIVITY_TYPE_DREAM; int animAttr = 0; int animAttr = 0; boolean translucent = false; boolean translucent = false; if (isDream) { if (isDreamTransition) { if (type == TRANSIT_OPEN) { if (type == TRANSIT_OPEN) { animAttr = enter animAttr = enter ? R.styleable.WindowAnimation_dreamActivityOpenEnterAnimation ? R.styleable.WindowAnimation_dreamActivityOpenEnterAnimation Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationSpec.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -255,7 +255,7 @@ class ActivityEmbeddingAnimationSpec { private boolean shouldShowBackdrop(@NonNull TransitionInfo info, private boolean shouldShowBackdrop(@NonNull TransitionInfo info, @NonNull TransitionInfo.Change change) { @NonNull TransitionInfo.Change change) { final Animation a = loadAttributeAnimation(info, change, WALLPAPER_TRANSITION_NONE, final Animation a = loadAttributeAnimation(info, change, WALLPAPER_TRANSITION_NONE, mTransitionAnimation); mTransitionAnimation, false); return a != null && a.getShowBackdrop(); return a != null && a.getShowBackdrop(); } } } }
libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java +20 −3 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static android.app.ActivityOptions.ANIM_SCALE_UP; import static android.app.ActivityOptions.ANIM_SCENE_TRANSITION; import static android.app.ActivityOptions.ANIM_SCENE_TRANSITION; import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_DOWN; import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_DOWN; import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_UP; import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_UP; import static android.app.WindowConfiguration.ACTIVITY_TYPE_DREAM; import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED; import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED; import static android.app.admin.DevicePolicyManager.ACTION_DEVICE_POLICY_RESOURCE_UPDATED; import static android.app.admin.DevicePolicyManager.ACTION_DEVICE_POLICY_RESOURCE_UPDATED; import static android.app.admin.DevicePolicyManager.EXTRA_RESOURCE_TYPE; import static android.app.admin.DevicePolicyManager.EXTRA_RESOURCE_TYPE; Loading Loading @@ -329,6 +330,8 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { @ColorInt int backgroundColorForTransition = 0; @ColorInt int backgroundColorForTransition = 0; final int wallpaperTransit = getWallpaperTransitType(info); final int wallpaperTransit = getWallpaperTransitType(info); boolean isDisplayRotationAnimationStarted = false; boolean isDisplayRotationAnimationStarted = false; final boolean isDreamTransition = isDreamTransition(info); for (int i = info.getChanges().size() - 1; i >= 0; --i) { for (int i = info.getChanges().size() - 1; i >= 0; --i) { final TransitionInfo.Change change = info.getChanges().get(i); final TransitionInfo.Change change = info.getChanges().get(i); if (change.hasAllFlags(FLAG_IN_TASK_WITH_EMBEDDED_ACTIVITY if (change.hasAllFlags(FLAG_IN_TASK_WITH_EMBEDDED_ACTIVITY Loading Loading @@ -424,7 +427,7 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { // Don't animate anything that isn't independent. // Don't animate anything that isn't independent. if (!TransitionInfo.isIndependent(change, info)) continue; if (!TransitionInfo.isIndependent(change, info)) continue; Animation a = loadAnimation(info, change, wallpaperTransit); Animation a = loadAnimation(info, change, wallpaperTransit, isDreamTransition); if (a != null) { if (a != null) { if (isTask) { if (isTask) { final @TransitionType int type = info.getType(); final @TransitionType int type = info.getType(); Loading Loading @@ -519,6 +522,18 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { return true; return true; } } private static boolean isDreamTransition(@NonNull TransitionInfo info) { for (int i = info.getChanges().size() - 1; i >= 0; --i) { final TransitionInfo.Change change = info.getChanges().get(i); if (change.getTaskInfo() != null && change.getTaskInfo().topActivityType == ACTIVITY_TYPE_DREAM) { return true; } } return false; } @Override @Override public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info, public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info, @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget, @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget, Loading Loading @@ -572,7 +587,8 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { @Nullable @Nullable private Animation loadAnimation(@NonNull TransitionInfo info, private Animation loadAnimation(@NonNull TransitionInfo info, @NonNull TransitionInfo.Change change, int wallpaperTransit) { @NonNull TransitionInfo.Change change, int wallpaperTransit, boolean isDreamTransition) { Animation a; Animation a; final int type = info.getType(); final int type = info.getType(); Loading Loading @@ -630,7 +646,8 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { // If there's a scene-transition, then jump-cut. // If there's a scene-transition, then jump-cut. return null; return null; } else { } else { a = loadAttributeAnimation(info, change, wallpaperTransit, mTransitionAnimation); a = loadAttributeAnimation( info, change, wallpaperTransit, mTransitionAnimation, isDreamTransition); } } if (a != null) { if (a != null) { Loading
libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java +2 −5 Original line number Original line Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.wm.shell.transition; import static android.app.ActivityOptions.ANIM_FROM_STYLE; import static android.app.ActivityOptions.ANIM_FROM_STYLE; import static android.app.ActivityOptions.ANIM_NONE; import static android.app.ActivityOptions.ANIM_NONE; import static android.app.WindowConfiguration.ACTIVITY_TYPE_DREAM; import static android.view.WindowManager.TRANSIT_CLOSE; import static android.view.WindowManager.TRANSIT_CLOSE; import static android.view.WindowManager.TRANSIT_OPEN; import static android.view.WindowManager.TRANSIT_OPEN; import static android.view.WindowManager.TRANSIT_TO_BACK; import static android.view.WindowManager.TRANSIT_TO_BACK; Loading Loading @@ -63,7 +62,7 @@ public class TransitionAnimationHelper { @Nullable @Nullable public static Animation loadAttributeAnimation(@NonNull TransitionInfo info, public static Animation loadAttributeAnimation(@NonNull TransitionInfo info, @NonNull TransitionInfo.Change change, int wallpaperTransit, @NonNull TransitionInfo.Change change, int wallpaperTransit, @NonNull TransitionAnimation transitionAnimation) { @NonNull TransitionAnimation transitionAnimation, boolean isDreamTransition) { final int type = info.getType(); final int type = info.getType(); final int changeMode = change.getMode(); final int changeMode = change.getMode(); final int changeFlags = change.getFlags(); final int changeFlags = change.getFlags(); Loading @@ -71,11 +70,9 @@ public class TransitionAnimationHelper { final boolean isTask = change.getTaskInfo() != null; final boolean isTask = change.getTaskInfo() != null; final TransitionInfo.AnimationOptions options = info.getAnimationOptions(); final TransitionInfo.AnimationOptions options = info.getAnimationOptions(); final int overrideType = options != null ? options.getType() : ANIM_NONE; final int overrideType = options != null ? options.getType() : ANIM_NONE; final boolean isDream = isTask && change.getTaskInfo().topActivityType == ACTIVITY_TYPE_DREAM; int animAttr = 0; int animAttr = 0; boolean translucent = false; boolean translucent = false; if (isDream) { if (isDreamTransition) { if (type == TRANSIT_OPEN) { if (type == TRANSIT_OPEN) { animAttr = enter animAttr = enter ? R.styleable.WindowAnimation_dreamActivityOpenEnterAnimation ? R.styleable.WindowAnimation_dreamActivityOpenEnterAnimation Loading