Loading core/res/res/values/symbols.xml +2 −0 Original line number Diff line number Diff line Loading @@ -1623,6 +1623,8 @@ <java-symbol type="anim" name="task_open_enter_cross_profile_apps" /> <java-symbol type="anim" name="activity_translucent_open_enter" /> <java-symbol type="anim" name="activity_translucent_close_exit" /> <java-symbol type="anim" name="activity_open_enter" /> <java-symbol type="anim" name="activity_close_exit" /> <java-symbol type="array" name="config_autoRotationTiltTolerance" /> <java-symbol type="array" name="config_keyboardTapVibePattern" /> Loading services/core/java/com/android/server/wm/AppTransition.java +15 −16 Original line number Diff line number Diff line Loading @@ -554,7 +554,7 @@ public class AppTransition implements Dump { return null; } Animation loadAnimationAttr(LayoutParams lp, int animAttr) { Animation loadAnimationAttr(LayoutParams lp, int animAttr, int transit) { int anim = 0; Context context = mContext; if (animAttr >= 0) { Loading @@ -564,6 +564,7 @@ public class AppTransition implements Dump { anim = ent.array.getResourceId(animAttr, 0); } } anim = updateToTranslucentAnimIfNeeded(anim, transit); if (anim != 0) { return AnimationUtils.loadAnimation(context, anim); } Loading Loading @@ -598,6 +599,16 @@ public class AppTransition implements Dump { return null; } private int updateToTranslucentAnimIfNeeded(int anim, int transit) { if (transit == TRANSIT_TRANSLUCENT_ACTIVITY_OPEN && anim == R.anim.activity_open_enter) { return R.anim.activity_translucent_open_enter; } if (transit == TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE && anim == R.anim.activity_close_exit) { return R.anim.activity_translucent_close_exit; } return anim; } /** * Compute the pivot point for an animation that is scaling from a small * rect on screen to a larger rect. The pivot point varies depending on Loading Loading @@ -1664,29 +1675,17 @@ public class AppTransition implements Dump { "applyAnimation NEXT_TRANSIT_TYPE_OPEN_CROSS_PROFILE_APPS:" + " anim=" + a + " transit=" + appTransitionToString(transit) + " isEntrance=true" + " Callers=" + Debug.getCallers(3)); } else if (transit == TRANSIT_TRANSLUCENT_ACTIVITY_OPEN && enter) { a = loadAnimationRes("android", com.android.internal.R.anim.activity_translucent_open_enter); Slog.v(TAG, "applyAnimation TRANSIT_TRANSLUCENT_ACTIVITY_OPEN:" + " anim=" + a + " transit=" + appTransitionToString(transit) + " isEntrance=true" + " Callers=" + Debug.getCallers(3)); } else if (transit == TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE && !enter) { a = loadAnimationRes("android", com.android.internal.R.anim.activity_translucent_close_exit); Slog.v(TAG, "applyAnimation TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE:" + " anim=" + a + " transit=" + appTransitionToString(transit) + " isEntrance=false" + " Callers=" + Debug.getCallers(3)); } else { int animAttr = 0; switch (transit) { case TRANSIT_ACTIVITY_OPEN: case TRANSIT_TRANSLUCENT_ACTIVITY_OPEN: animAttr = enter ? WindowAnimation_activityOpenEnterAnimation : WindowAnimation_activityOpenExitAnimation; break; case TRANSIT_ACTIVITY_CLOSE: case TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE: animAttr = enter ? WindowAnimation_activityCloseEnterAnimation : WindowAnimation_activityCloseExitAnimation; Loading Loading @@ -1737,7 +1736,7 @@ public class AppTransition implements Dump { ? WindowAnimation_launchTaskBehindSourceAnimation : WindowAnimation_launchTaskBehindTargetAnimation; } a = animAttr != 0 ? loadAnimationAttr(lp, animAttr) : null; a = animAttr != 0 ? loadAnimationAttr(lp, animAttr, transit) : null; if (DEBUG_APP_TRANSITIONS || DEBUG_ANIM) Slog.v(TAG, "applyAnimation:" + " anim=" + a Loading services/core/java/com/android/server/wm/WindowStateAnimator.java +2 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CO import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING; import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD; import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER; import static android.view.WindowManager.TRANSIT_NONE; import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM; import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER; import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM; Loading Loading @@ -1360,7 +1361,7 @@ class WindowStateAnimator { break; } if (attr >= 0) { a = mService.mAppTransition.loadAnimationAttr(mWin.mAttrs, attr); a = mService.mAppTransition.loadAnimationAttr(mWin.mAttrs, attr, TRANSIT_NONE); } } if (DEBUG_ANIM) Slog.v(TAG, Loading Loading
core/res/res/values/symbols.xml +2 −0 Original line number Diff line number Diff line Loading @@ -1623,6 +1623,8 @@ <java-symbol type="anim" name="task_open_enter_cross_profile_apps" /> <java-symbol type="anim" name="activity_translucent_open_enter" /> <java-symbol type="anim" name="activity_translucent_close_exit" /> <java-symbol type="anim" name="activity_open_enter" /> <java-symbol type="anim" name="activity_close_exit" /> <java-symbol type="array" name="config_autoRotationTiltTolerance" /> <java-symbol type="array" name="config_keyboardTapVibePattern" /> Loading
services/core/java/com/android/server/wm/AppTransition.java +15 −16 Original line number Diff line number Diff line Loading @@ -554,7 +554,7 @@ public class AppTransition implements Dump { return null; } Animation loadAnimationAttr(LayoutParams lp, int animAttr) { Animation loadAnimationAttr(LayoutParams lp, int animAttr, int transit) { int anim = 0; Context context = mContext; if (animAttr >= 0) { Loading @@ -564,6 +564,7 @@ public class AppTransition implements Dump { anim = ent.array.getResourceId(animAttr, 0); } } anim = updateToTranslucentAnimIfNeeded(anim, transit); if (anim != 0) { return AnimationUtils.loadAnimation(context, anim); } Loading Loading @@ -598,6 +599,16 @@ public class AppTransition implements Dump { return null; } private int updateToTranslucentAnimIfNeeded(int anim, int transit) { if (transit == TRANSIT_TRANSLUCENT_ACTIVITY_OPEN && anim == R.anim.activity_open_enter) { return R.anim.activity_translucent_open_enter; } if (transit == TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE && anim == R.anim.activity_close_exit) { return R.anim.activity_translucent_close_exit; } return anim; } /** * Compute the pivot point for an animation that is scaling from a small * rect on screen to a larger rect. The pivot point varies depending on Loading Loading @@ -1664,29 +1675,17 @@ public class AppTransition implements Dump { "applyAnimation NEXT_TRANSIT_TYPE_OPEN_CROSS_PROFILE_APPS:" + " anim=" + a + " transit=" + appTransitionToString(transit) + " isEntrance=true" + " Callers=" + Debug.getCallers(3)); } else if (transit == TRANSIT_TRANSLUCENT_ACTIVITY_OPEN && enter) { a = loadAnimationRes("android", com.android.internal.R.anim.activity_translucent_open_enter); Slog.v(TAG, "applyAnimation TRANSIT_TRANSLUCENT_ACTIVITY_OPEN:" + " anim=" + a + " transit=" + appTransitionToString(transit) + " isEntrance=true" + " Callers=" + Debug.getCallers(3)); } else if (transit == TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE && !enter) { a = loadAnimationRes("android", com.android.internal.R.anim.activity_translucent_close_exit); Slog.v(TAG, "applyAnimation TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE:" + " anim=" + a + " transit=" + appTransitionToString(transit) + " isEntrance=false" + " Callers=" + Debug.getCallers(3)); } else { int animAttr = 0; switch (transit) { case TRANSIT_ACTIVITY_OPEN: case TRANSIT_TRANSLUCENT_ACTIVITY_OPEN: animAttr = enter ? WindowAnimation_activityOpenEnterAnimation : WindowAnimation_activityOpenExitAnimation; break; case TRANSIT_ACTIVITY_CLOSE: case TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE: animAttr = enter ? WindowAnimation_activityCloseEnterAnimation : WindowAnimation_activityCloseExitAnimation; Loading Loading @@ -1737,7 +1736,7 @@ public class AppTransition implements Dump { ? WindowAnimation_launchTaskBehindSourceAnimation : WindowAnimation_launchTaskBehindTargetAnimation; } a = animAttr != 0 ? loadAnimationAttr(lp, animAttr) : null; a = animAttr != 0 ? loadAnimationAttr(lp, animAttr, transit) : null; if (DEBUG_APP_TRANSITIONS || DEBUG_ANIM) Slog.v(TAG, "applyAnimation:" + " anim=" + a Loading
services/core/java/com/android/server/wm/WindowStateAnimator.java +2 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CO import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING; import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD; import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER; import static android.view.WindowManager.TRANSIT_NONE; import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM; import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER; import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM; Loading Loading @@ -1360,7 +1361,7 @@ class WindowStateAnimator { break; } if (attr >= 0) { a = mService.mAppTransition.loadAnimationAttr(mWin.mAttrs, attr); a = mService.mAppTransition.loadAnimationAttr(mWin.mAttrs, attr, TRANSIT_NONE); } } if (DEBUG_ANIM) Slog.v(TAG, Loading