Don't update the bubble on ranking changes if it's already in the stack
The only reason we should update/add a bubble in response to a ranking
change is if that notification wasn't a bubble before and should be
now.
Also set the entry when retrieving from pending / overflow.
Bug: 152322244
Test: manual - 1) add some bubbles, add one that auto expanded
2) collapse stack
3) trigger some notification in shade (e.g. start a timer)
=> notice the stack does not auto expand in the background
Change-Id: I15877fabf07a402dade76904dc1481ab669776ff
This commit is contained in:
@@ -957,9 +957,10 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
|
||||
String key = orderedKeys[i];
|
||||
NotificationEntry entry = mNotificationEntryManager.getPendingOrActiveNotif(key);
|
||||
rankingMap.getRanking(key, mTmpRanking);
|
||||
if (mBubbleData.hasBubbleWithKey(key) && !mTmpRanking.canBubble()) {
|
||||
boolean isActiveBubble = mBubbleData.hasBubbleWithKey(key);
|
||||
if (isActiveBubble && !mTmpRanking.canBubble()) {
|
||||
mBubbleData.notificationEntryRemoved(entry, BubbleController.DISMISS_BLOCKED);
|
||||
} else if (entry != null && mTmpRanking.isBubble()) {
|
||||
} else if (entry != null && mTmpRanking.isBubble() && !isActiveBubble) {
|
||||
entry.setFlagBubble(true);
|
||||
onEntryUpdated(entry);
|
||||
}
|
||||
|
||||
@@ -233,6 +233,7 @@ public class BubbleData {
|
||||
Bubble b = mOverflowBubbles.get(i);
|
||||
if (b.getKey().equals(entry.getKey())) {
|
||||
moveOverflowBubbleToPending(b);
|
||||
b.setEntry(entry);
|
||||
return b;
|
||||
}
|
||||
}
|
||||
@@ -240,6 +241,7 @@ public class BubbleData {
|
||||
for (int i = 0; i < mPendingBubbles.size(); i++) {
|
||||
Bubble b = mPendingBubbles.get(i);
|
||||
if (b.getKey().equals(entry.getKey())) {
|
||||
b.setEntry(entry);
|
||||
return b;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user