Loading packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java +5 −3 Original line number Diff line number Diff line Loading @@ -374,8 +374,9 @@ public class BubbleStackView extends FrameLayout { @Override public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target) { mExpandedAnimationController.dismissDraggedOutBubble( mExpandedAnimationController.getDraggedOutBubble(), BubbleStackView.this::dismissMagnetizedObject); mExpandedAnimationController.getDraggedOutBubble() /* bubble */, mDismissTargetContainer.getHeight() /* translationYBy */, BubbleStackView.this::dismissMagnetizedObject /* after */); hideDismissTarget(); } }; Loading Loading @@ -405,7 +406,8 @@ public class BubbleStackView extends FrameLayout { @Override public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target) { mStackAnimationController.implodeStack( mStackAnimationController.animateStackDismissal( mDismissTargetContainer.getHeight() /* translationYBy */, () -> { resetDesaturationAndDarken(); dismissMagnetizedObject(); Loading packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java +2 −1 Original line number Diff line number Diff line Loading @@ -329,7 +329,7 @@ public class ExpandedAnimationController } /** Plays a dismiss animation on the dragged out bubble. */ public void dismissDraggedOutBubble(View bubble, Runnable after) { public void dismissDraggedOutBubble(View bubble, float translationYBy, Runnable after) { if (bubble == null) { return; } Loading @@ -337,6 +337,7 @@ public class ExpandedAnimationController .withStiffness(SpringForce.STIFFNESS_HIGH) .scaleX(1.1f) .scaleY(1.1f) .translationY(bubble.getTranslationY() + translationYBy) .alpha(0f, after) .start(); Loading packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java +11 −12 Original line number Diff line number Diff line Loading @@ -647,17 +647,18 @@ public class StackAnimationController extends } /** * 'Implode' the stack by shrinking the bubbles via chained animations and fading them out. * 'Implode' the stack by shrinking the bubbles, fading them out, and translating them down. */ public void implodeStack(Runnable after) { // Pop and fade the bubbles sequentially. animationForChildAtIndex(0) public void animateStackDismissal(float translationYBy, Runnable after) { animationsForChildrenFromIndex(0, (index, animation) -> animation .scaleX(0.5f) .scaleY(0.5f) .alpha(0f) .withDampingRatio(SpringForce.DAMPING_RATIO_NO_BOUNCY) .withStiffness(SpringForce.STIFFNESS_HIGH) .start(after); .translationY( mLayout.getChildAt(index).getTranslationY() + translationYBy) .withStiffness(SpringForce.STIFFNESS_HIGH)) .startAll(after); } /** Loading Loading @@ -710,8 +711,6 @@ public class StackAnimationController extends if (property.equals(DynamicAnimation.TRANSLATION_X) || property.equals(DynamicAnimation.TRANSLATION_Y)) { return index + 1; } else if (isStackStuckToTarget()) { return index + 1; // Chain all animations in dismiss (scale, alpha, etc. are used). } else { return NONE; } Loading Loading
packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java +5 −3 Original line number Diff line number Diff line Loading @@ -374,8 +374,9 @@ public class BubbleStackView extends FrameLayout { @Override public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target) { mExpandedAnimationController.dismissDraggedOutBubble( mExpandedAnimationController.getDraggedOutBubble(), BubbleStackView.this::dismissMagnetizedObject); mExpandedAnimationController.getDraggedOutBubble() /* bubble */, mDismissTargetContainer.getHeight() /* translationYBy */, BubbleStackView.this::dismissMagnetizedObject /* after */); hideDismissTarget(); } }; Loading Loading @@ -405,7 +406,8 @@ public class BubbleStackView extends FrameLayout { @Override public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target) { mStackAnimationController.implodeStack( mStackAnimationController.animateStackDismissal( mDismissTargetContainer.getHeight() /* translationYBy */, () -> { resetDesaturationAndDarken(); dismissMagnetizedObject(); Loading
packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java +2 −1 Original line number Diff line number Diff line Loading @@ -329,7 +329,7 @@ public class ExpandedAnimationController } /** Plays a dismiss animation on the dragged out bubble. */ public void dismissDraggedOutBubble(View bubble, Runnable after) { public void dismissDraggedOutBubble(View bubble, float translationYBy, Runnable after) { if (bubble == null) { return; } Loading @@ -337,6 +337,7 @@ public class ExpandedAnimationController .withStiffness(SpringForce.STIFFNESS_HIGH) .scaleX(1.1f) .scaleY(1.1f) .translationY(bubble.getTranslationY() + translationYBy) .alpha(0f, after) .start(); Loading
packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java +11 −12 Original line number Diff line number Diff line Loading @@ -647,17 +647,18 @@ public class StackAnimationController extends } /** * 'Implode' the stack by shrinking the bubbles via chained animations and fading them out. * 'Implode' the stack by shrinking the bubbles, fading them out, and translating them down. */ public void implodeStack(Runnable after) { // Pop and fade the bubbles sequentially. animationForChildAtIndex(0) public void animateStackDismissal(float translationYBy, Runnable after) { animationsForChildrenFromIndex(0, (index, animation) -> animation .scaleX(0.5f) .scaleY(0.5f) .alpha(0f) .withDampingRatio(SpringForce.DAMPING_RATIO_NO_BOUNCY) .withStiffness(SpringForce.STIFFNESS_HIGH) .start(after); .translationY( mLayout.getChildAt(index).getTranslationY() + translationYBy) .withStiffness(SpringForce.STIFFNESS_HIGH)) .startAll(after); } /** Loading Loading @@ -710,8 +711,6 @@ public class StackAnimationController extends if (property.equals(DynamicAnimation.TRANSLATION_X) || property.equals(DynamicAnimation.TRANSLATION_Y)) { return index + 1; } else if (isStackStuckToTarget()) { return index + 1; // Chain all animations in dismiss (scale, alpha, etc. are used). } else { return NONE; } Loading