Merge "When opening from locked shade, wait for the shade to unlock before expanding." into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f1f28c8ec4
@@ -183,6 +183,12 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
|
|||||||
// Only load overflow data from disk once
|
// Only load overflow data from disk once
|
||||||
private boolean mOverflowDataLoaded = false;
|
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 final NotificationInterruptStateProvider mNotificationInterruptStateProvider;
|
||||||
private IStatusBarService mBarService;
|
private IStatusBarService mBarService;
|
||||||
private WindowManager mWindowManager;
|
private WindowManager mWindowManager;
|
||||||
@@ -295,6 +301,12 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
|
|||||||
if (shouldCollapse) {
|
if (shouldCollapse) {
|
||||||
collapseStack();
|
collapseStack();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mNotifEntryToExpandOnShadeUnlock != null) {
|
||||||
|
expandStackAndSelectBubble(mNotifEntryToExpandOnShadeUnlock);
|
||||||
|
mNotifEntryToExpandOnShadeUnlock = null;
|
||||||
|
}
|
||||||
|
|
||||||
updateStack();
|
updateStack();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -935,6 +947,9 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
|
|||||||
* @param entry the notification for the bubble to be selected
|
* @param entry the notification for the bubble to be selected
|
||||||
*/
|
*/
|
||||||
public void expandStackAndSelectBubble(NotificationEntry entry) {
|
public void expandStackAndSelectBubble(NotificationEntry entry) {
|
||||||
|
if (mStatusBarStateListener.getCurrentState() == SHADE) {
|
||||||
|
mNotifEntryToExpandOnShadeUnlock = null;
|
||||||
|
|
||||||
String key = entry.getKey();
|
String key = entry.getKey();
|
||||||
Bubble bubble = mBubbleData.getBubbleInStackWithKey(key);
|
Bubble bubble = mBubbleData.getBubbleInStackWithKey(key);
|
||||||
if (bubble != null) {
|
if (bubble != null) {
|
||||||
@@ -950,6 +965,12 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
|
|||||||
setIsBubble(entry, true /* isBubble */, true /* autoExpand */);
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user