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

Commit e6a7a0e1 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "When opening from locked shade, wait for the shade to unlock before...

Merge "When opening from locked shade, wait for the shade to unlock before expanding." into rvc-dev am: f1f28c8e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11934834

Change-Id: I55856288f4e60a04fceadc8690dcbf59239fbb26
parents a616d5d7 f1f28c8e
Loading
Loading
Loading
Loading
+33 −12
Original line number Diff line number Diff line
@@ -183,6 +183,12 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
    // Only load overflow data from disk once
    private boolean mOverflowDataLoaded = false;

    /**
     * When the shade status changes to SHADE (from anything but SHADE, like LOCKED) we'll select
     * this bubble and expand the stack.
     */
    @Nullable private NotificationEntry mNotifEntryToExpandOnShadeUnlock;

    private final NotificationInterruptStateProvider mNotificationInterruptStateProvider;
    private IStatusBarService mBarService;
    private WindowManager mWindowManager;
@@ -295,6 +301,12 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
            if (shouldCollapse) {
                collapseStack();
            }

            if (mNotifEntryToExpandOnShadeUnlock != null) {
                expandStackAndSelectBubble(mNotifEntryToExpandOnShadeUnlock);
                mNotifEntryToExpandOnShadeUnlock = null;
            }

            updateStack();
        }
    }
@@ -935,6 +947,9 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
     * @param entry the notification for the bubble to be selected
     */
    public void expandStackAndSelectBubble(NotificationEntry entry) {
        if (mStatusBarStateListener.getCurrentState() == SHADE) {
            mNotifEntryToExpandOnShadeUnlock = null;

            String key = entry.getKey();
            Bubble bubble = mBubbleData.getBubbleInStackWithKey(key);
            if (bubble != null) {
@@ -950,6 +965,12 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
                    setIsBubble(entry, true /* isBubble */, true /* autoExpand */);
                }
            }
        } else {
            // Wait until we're unlocked to expand, so that the user can see the expand animation
            // and also to work around bugs with expansion animation + shade unlock happening at the
            // same time.
            mNotifEntryToExpandOnShadeUnlock = entry;
        }
    }

    /**