diff options
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java | 36 |
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; } |