Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0701ab16 authored by Liran Binyamin's avatar Liran Binyamin
Browse files

Don't animate bubbles in the initial state update

When launcher receives the initial bubble state update from sysui, don't animate the bubbles. The initial update is sent when bubble bar is created and not when new bubbles are created.

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: manual
Change-Id: I74b09220be22d7382fa6d7c1351d5e60a799a054
parent c21852a1
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -237,7 +237,8 @@ public class BubbleBarController extends IBubblesListener.Stub {
                // we're on the main executor now, so check that the overflow hasn't been created
                // again to avoid races.
                if (mOverflowBubble == null) {
                    mBubbleBarViewController.addBubble(overflow, /* isExpanding= */ false);
                    mBubbleBarViewController.addBubble(
                            overflow, /* isExpanding= */ false, /* suppressAnimation= */ true);
                    mOverflowBubble = overflow;
                }
            });
@@ -307,6 +308,9 @@ public class BubbleBarController extends IBubblesListener.Stub {
        final boolean isCollapsed = (update.expandedChanged && !update.expanded)
                || (!update.expandedChanged && !mBubbleBarViewController.isExpanded());
        final boolean isExpanding = update.expandedChanged && update.expanded;
        // don't animate bubbles if this is the initial state because we may be unfolding or
        // enabling gesture nav
        final boolean suppressAnimation = update.initialState;
        BubbleBarItem previouslySelectedBubble = mSelectedBubble;
        BubbleBarBubble bubbleToSelect = null;
        if (!update.removedBubbles.isEmpty()) {
@@ -323,7 +327,7 @@ public class BubbleBarController extends IBubblesListener.Stub {
        }
        if (update.addedBubble != null) {
            mBubbles.put(update.addedBubble.getKey(), update.addedBubble);
            mBubbleBarViewController.addBubble(update.addedBubble, isExpanding);
            mBubbleBarViewController.addBubble(update.addedBubble, isExpanding, suppressAnimation);
            if (isCollapsed) {
                // If we're collapsed, the most recently added bubble will be selected.
                bubbleToSelect = update.addedBubble;
@@ -336,7 +340,7 @@ public class BubbleBarController extends IBubblesListener.Stub {
                BubbleBarBubble bubble = update.currentBubbles.get(i);
                if (bubble != null) {
                    mBubbles.put(bubble.getKey(), bubble);
                    mBubbleBarViewController.addBubble(bubble, isExpanding);
                    mBubbleBarViewController.addBubble(bubble, isExpanding, suppressAnimation);
                    if (isCollapsed) {
                        // If we're collapsed, the most recently added bubble will be selected.
                        bubbleToSelect = bubble;
+5 −1
Original line number Diff line number Diff line
@@ -315,13 +315,17 @@ public class BubbleBarViewController {
    /**
     * Adds the provided bubble to the bubble bar.
     */
    public void addBubble(BubbleBarItem b, boolean isExpanding) {
    public void addBubble(BubbleBarItem b, boolean isExpanding, boolean suppressAnimation) {
        if (b != null) {
            mBarView.addView(b.getView(), 0,
                    new FrameLayout.LayoutParams(mIconSize, mIconSize, Gravity.LEFT));
            b.getView().setOnClickListener(mBubbleClickListener);
            mBubbleDragController.setupBubbleView(b.getView());

            if (suppressAnimation) {
                return;
            }

            boolean isStashedOrGone =
                    mBubbleStashController.isStashed() || mBarView.getVisibility() != VISIBLE;
            // don't animate the new bubble if we're auto expanding from stashed