summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java36
1 files changed, 20 insertions, 16 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java
index 8d29901c3a07..bcc37baa5b00 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java
@@ -143,8 +143,12 @@ public class TransitionAnimationHelper {
Animation a = null;
if (animAttr != 0) {
if (overrideType == ANIM_FROM_STYLE && !isTask) {
- a = loadCustomActivityTransition(animAttr, options, enter, transitionAnimation);
- if (a == null) {
+ final TransitionInfo.AnimationOptions.CustomActivityTransition customTransition =
+ getCustomActivityTransition(animAttr, options);
+ if (customTransition != null) {
+ a = loadCustomActivityTransition(
+ customTransition, options, enter, transitionAnimation);
+ } else {
a = transitionAnimation
.loadAnimationAttr(options.getPackageName(), options.getAnimations(),
animAttr, translucent);
@@ -161,10 +165,8 @@ public class TransitionAnimationHelper {
return a;
}
- static Animation loadCustomActivityTransition(int animAttr,
- TransitionInfo.AnimationOptions options, boolean enter,
- TransitionAnimation transitionAnimation) {
- Animation a = null;
+ static TransitionInfo.AnimationOptions.CustomActivityTransition getCustomActivityTransition(
+ int animAttr, TransitionInfo.AnimationOptions options) {
boolean isOpen = false;
switch (animAttr) {
case R.styleable.WindowAnimation_activityOpenEnterAnimation:
@@ -178,17 +180,19 @@ public class TransitionAnimationHelper {
return null;
}
- final TransitionInfo.AnimationOptions.CustomActivityTransition transitionAnim =
- options.getCustomActivityTransition(isOpen);
- if (transitionAnim != null) {
- a = transitionAnimation.loadAppTransitionAnimation(options.getPackageName(),
- enter ? transitionAnim.getCustomEnterResId()
- : transitionAnim.getCustomExitResId());
- if (a != null && transitionAnim.getCustomBackgroundColor() != 0) {
- a.setBackdropColor(transitionAnim.getCustomBackgroundColor());
- }
- }
+ return options.getCustomActivityTransition(isOpen);
+ }
+ static Animation loadCustomActivityTransition(
+ @NonNull TransitionInfo.AnimationOptions.CustomActivityTransition transitionAnim,
+ TransitionInfo.AnimationOptions options, boolean enter,
+ TransitionAnimation transitionAnimation) {
+ final Animation a = transitionAnimation.loadAppTransitionAnimation(options.getPackageName(),
+ enter ? transitionAnim.getCustomEnterResId()
+ : transitionAnim.getCustomExitResId());
+ if (a != null && transitionAnim.getCustomBackgroundColor() != 0) {
+ a.setBackdropColor(transitionAnim.getCustomBackgroundColor());
+ }
return a;
}