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

Commit f1f28c8e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents 861a8178 494fdeaf
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;
        }
    }

    /**