Loading core/java/com/android/internal/policy/TransitionAnimation.java +29 −4 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import static android.view.WindowManager.TRANSIT_OLD_ACTIVITY_OPEN; import static android.view.WindowManager.TRANSIT_OLD_NONE; import static android.view.WindowManager.TRANSIT_OLD_TRANSLUCENT_ACTIVITY_CLOSE; import static android.view.WindowManager.TRANSIT_OLD_TRANSLUCENT_ACTIVITY_OPEN; import static android.view.WindowManager.TRANSIT_OLD_UNSET; import static android.view.WindowManager.TRANSIT_OLD_WALLPAPER_INTRA_CLOSE; import static android.view.WindowManager.TRANSIT_OLD_WALLPAPER_INTRA_OPEN; import static android.view.WindowManager.TRANSIT_OPEN; Loading Loading @@ -261,11 +262,17 @@ public class TransitionAnimation { } return null; } /** Load animation by attribute Id from a specific AnimationStyle resource. */ /** * Load animation by attribute Id from a specific AnimationStyle resource. * * @param translucent {@code true} if we're sure that the animation is applied on a translucent * window container, {@code false} otherwise. * @param transit {@link TransitionOldType} for the app transition of this animation, or * {@link TransitionOldType#TRANSIT_OLD_UNSET} if app transition type is unknown. */ @Nullable public Animation loadAnimationAttr(String packageName, int animStyleResId, int animAttr, boolean translucent) { private Animation loadAnimationAttr(String packageName, int animStyleResId, int animAttr, boolean translucent, @TransitionOldType int transit) { if (animStyleResId == 0) { return null; } Loading @@ -281,6 +288,8 @@ public class TransitionAnimation { } if (translucent) { resId = updateToTranslucentAnimIfNeeded(resId); } else if (transit != TRANSIT_OLD_UNSET) { resId = updateToTranslucentAnimIfNeeded(resId, transit); } if (ResourceId.isValid(resId)) { return loadAnimationSafely(context, resId, mTag); Loading @@ -288,6 +297,15 @@ public class TransitionAnimation { return null; } /** Load animation by attribute Id from a specific AnimationStyle resource. */ @Nullable public Animation loadAnimationAttr(String packageName, int animStyleResId, int animAttr, boolean translucent) { return loadAnimationAttr(packageName, animStyleResId, animAttr, translucent, TRANSIT_OLD_UNSET); } /** Load animation by attribute Id from android package. */ @Nullable public Animation loadDefaultAnimationAttr(int animAttr, boolean translucent) { Loading @@ -295,6 +313,13 @@ public class TransitionAnimation { translucent); } /** Load animation by attribute Id from android package. */ @Nullable public Animation loadDefaultAnimationAttr(int animAttr, @TransitionOldType int transit) { return loadAnimationAttr(DEFAULT_PACKAGE, mDefaultWindowAnimationStyleResId, animAttr, false /* translucent */, transit); } @Nullable private AttributeCache.Entry getCachedAnimations(LayoutParams lp) { if (mDebug) { Loading data/etc/services.core.protolog.json +12 −6 Original line number Diff line number Diff line Loading @@ -2065,6 +2065,12 @@ "group": "WM_DEBUG_IME", "at": "com\/android\/server\/wm\/DisplayContent.java" }, "-57572004": { "message": "applyAnimation: anim=%s animAttr=0x%x transit=%s isEntrance=%b canCustomizeAppTransition=%b Callers=%s", "level": "VERBOSE", "group": "WM_DEBUG_APP_TRANSITIONS_ANIM", "at": "com\/android\/server\/wm\/AppTransition.java" }, "-55185509": { "message": "setFocusedTask: taskId=%d touchedActivity=%s", "level": "DEBUG", Loading Loading @@ -4171,6 +4177,12 @@ "group": "WM_DEBUG_ANIM", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "2079410261": { "message": "applyAnimation: override requested, but it is prohibited by policy.", "level": "ERROR", "group": "WM_DEBUG_APP_TRANSITIONS_ANIM", "at": "com\/android\/server\/wm\/AppTransition.java" }, "2083556954": { "message": "Set mOrientationChanging of %s", "level": "VERBOSE", Loading Loading @@ -4224,12 +4236,6 @@ "level": "VERBOSE", "group": "WM_DEBUG_ORIENTATION", "at": "com\/android\/server\/wm\/DisplayRotation.java" }, "2137411379": { "message": "applyAnimation: anim=%s animAttr=0x%x transit=%s isEntrance=%b Callers=%s", "level": "VERBOSE", "group": "WM_DEBUG_APP_TRANSITIONS_ANIM", "at": "com\/android\/server\/wm\/AppTransition.java" } }, "groups": { Loading services/core/java/com/android/server/wm/AppTransition.java +14 −6 Original line number Diff line number Diff line Loading @@ -650,9 +650,15 @@ public class AppTransition implements Dump { @Nullable Rect surfaceInsets, @Nullable Rect stableInsets, boolean isVoiceInteraction, boolean freeform, WindowContainer container) { if (mNextAppTransitionOverrideRequested && (container.canCustomizeAppTransition() || mOverrideTaskTransition)) { final boolean canCustomizeAppTransition = container.canCustomizeAppTransition(); if (mNextAppTransitionOverrideRequested) { if (canCustomizeAppTransition || mOverrideTaskTransition) { mNextAppTransitionType = NEXT_TRANSIT_TYPE_CUSTOM; } else { ProtoLog.e(WM_DEBUG_APP_TRANSITIONS_ANIM, "applyAnimation: " + " override requested, but it is prohibited by policy."); } } Animation a; Loading Loading @@ -851,13 +857,15 @@ public class AppTransition implements Dump { : WindowAnimation_dreamActivityCloseExitAnimation; break; } a = animAttr != 0 ? loadAnimationAttr(lp, animAttr, transit) : null; a = animAttr == 0 ? null : (canCustomizeAppTransition ? loadAnimationAttr(lp, animAttr, transit) : mTransitionAnimation.loadDefaultAnimationAttr(animAttr, transit)); ProtoLog.v(WM_DEBUG_APP_TRANSITIONS_ANIM, "applyAnimation: anim=%s animAttr=0x%x transit=%s isEntrance=%b " + "Callers=%s", + " canCustomizeAppTransition=%b Callers=%s", a, animAttr, appTransitionOldToString(transit), enter, Debug.getCallers(3)); canCustomizeAppTransition, Debug.getCallers(3)); } setAppTransitionFinishedCallbackIfNeeded(a); Loading Loading
core/java/com/android/internal/policy/TransitionAnimation.java +29 −4 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import static android.view.WindowManager.TRANSIT_OLD_ACTIVITY_OPEN; import static android.view.WindowManager.TRANSIT_OLD_NONE; import static android.view.WindowManager.TRANSIT_OLD_TRANSLUCENT_ACTIVITY_CLOSE; import static android.view.WindowManager.TRANSIT_OLD_TRANSLUCENT_ACTIVITY_OPEN; import static android.view.WindowManager.TRANSIT_OLD_UNSET; import static android.view.WindowManager.TRANSIT_OLD_WALLPAPER_INTRA_CLOSE; import static android.view.WindowManager.TRANSIT_OLD_WALLPAPER_INTRA_OPEN; import static android.view.WindowManager.TRANSIT_OPEN; Loading Loading @@ -261,11 +262,17 @@ public class TransitionAnimation { } return null; } /** Load animation by attribute Id from a specific AnimationStyle resource. */ /** * Load animation by attribute Id from a specific AnimationStyle resource. * * @param translucent {@code true} if we're sure that the animation is applied on a translucent * window container, {@code false} otherwise. * @param transit {@link TransitionOldType} for the app transition of this animation, or * {@link TransitionOldType#TRANSIT_OLD_UNSET} if app transition type is unknown. */ @Nullable public Animation loadAnimationAttr(String packageName, int animStyleResId, int animAttr, boolean translucent) { private Animation loadAnimationAttr(String packageName, int animStyleResId, int animAttr, boolean translucent, @TransitionOldType int transit) { if (animStyleResId == 0) { return null; } Loading @@ -281,6 +288,8 @@ public class TransitionAnimation { } if (translucent) { resId = updateToTranslucentAnimIfNeeded(resId); } else if (transit != TRANSIT_OLD_UNSET) { resId = updateToTranslucentAnimIfNeeded(resId, transit); } if (ResourceId.isValid(resId)) { return loadAnimationSafely(context, resId, mTag); Loading @@ -288,6 +297,15 @@ public class TransitionAnimation { return null; } /** Load animation by attribute Id from a specific AnimationStyle resource. */ @Nullable public Animation loadAnimationAttr(String packageName, int animStyleResId, int animAttr, boolean translucent) { return loadAnimationAttr(packageName, animStyleResId, animAttr, translucent, TRANSIT_OLD_UNSET); } /** Load animation by attribute Id from android package. */ @Nullable public Animation loadDefaultAnimationAttr(int animAttr, boolean translucent) { Loading @@ -295,6 +313,13 @@ public class TransitionAnimation { translucent); } /** Load animation by attribute Id from android package. */ @Nullable public Animation loadDefaultAnimationAttr(int animAttr, @TransitionOldType int transit) { return loadAnimationAttr(DEFAULT_PACKAGE, mDefaultWindowAnimationStyleResId, animAttr, false /* translucent */, transit); } @Nullable private AttributeCache.Entry getCachedAnimations(LayoutParams lp) { if (mDebug) { Loading
data/etc/services.core.protolog.json +12 −6 Original line number Diff line number Diff line Loading @@ -2065,6 +2065,12 @@ "group": "WM_DEBUG_IME", "at": "com\/android\/server\/wm\/DisplayContent.java" }, "-57572004": { "message": "applyAnimation: anim=%s animAttr=0x%x transit=%s isEntrance=%b canCustomizeAppTransition=%b Callers=%s", "level": "VERBOSE", "group": "WM_DEBUG_APP_TRANSITIONS_ANIM", "at": "com\/android\/server\/wm\/AppTransition.java" }, "-55185509": { "message": "setFocusedTask: taskId=%d touchedActivity=%s", "level": "DEBUG", Loading Loading @@ -4171,6 +4177,12 @@ "group": "WM_DEBUG_ANIM", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "2079410261": { "message": "applyAnimation: override requested, but it is prohibited by policy.", "level": "ERROR", "group": "WM_DEBUG_APP_TRANSITIONS_ANIM", "at": "com\/android\/server\/wm\/AppTransition.java" }, "2083556954": { "message": "Set mOrientationChanging of %s", "level": "VERBOSE", Loading Loading @@ -4224,12 +4236,6 @@ "level": "VERBOSE", "group": "WM_DEBUG_ORIENTATION", "at": "com\/android\/server\/wm\/DisplayRotation.java" }, "2137411379": { "message": "applyAnimation: anim=%s animAttr=0x%x transit=%s isEntrance=%b Callers=%s", "level": "VERBOSE", "group": "WM_DEBUG_APP_TRANSITIONS_ANIM", "at": "com\/android\/server\/wm\/AppTransition.java" } }, "groups": { Loading
services/core/java/com/android/server/wm/AppTransition.java +14 −6 Original line number Diff line number Diff line Loading @@ -650,9 +650,15 @@ public class AppTransition implements Dump { @Nullable Rect surfaceInsets, @Nullable Rect stableInsets, boolean isVoiceInteraction, boolean freeform, WindowContainer container) { if (mNextAppTransitionOverrideRequested && (container.canCustomizeAppTransition() || mOverrideTaskTransition)) { final boolean canCustomizeAppTransition = container.canCustomizeAppTransition(); if (mNextAppTransitionOverrideRequested) { if (canCustomizeAppTransition || mOverrideTaskTransition) { mNextAppTransitionType = NEXT_TRANSIT_TYPE_CUSTOM; } else { ProtoLog.e(WM_DEBUG_APP_TRANSITIONS_ANIM, "applyAnimation: " + " override requested, but it is prohibited by policy."); } } Animation a; Loading Loading @@ -851,13 +857,15 @@ public class AppTransition implements Dump { : WindowAnimation_dreamActivityCloseExitAnimation; break; } a = animAttr != 0 ? loadAnimationAttr(lp, animAttr, transit) : null; a = animAttr == 0 ? null : (canCustomizeAppTransition ? loadAnimationAttr(lp, animAttr, transit) : mTransitionAnimation.loadDefaultAnimationAttr(animAttr, transit)); ProtoLog.v(WM_DEBUG_APP_TRANSITIONS_ANIM, "applyAnimation: anim=%s animAttr=0x%x transit=%s isEntrance=%b " + "Callers=%s", + " canCustomizeAppTransition=%b Callers=%s", a, animAttr, appTransitionOldToString(transit), enter, Debug.getCallers(3)); canCustomizeAppTransition, Debug.getCallers(3)); } setAppTransitionFinishedCallbackIfNeeded(a); Loading