Merge "Dismiss bubbles into overflow"

This commit is contained in:
TreeHugger Robot
2020-02-19 21:16:40 +00:00
committed by Android (Google) Code Review
2 changed files with 22 additions and 24 deletions

View File

@@ -443,20 +443,7 @@ public class BubbleData {
mStateChange.orderChanged |= repackAll();
}
if (reason == BubbleController.DISMISS_AGED) {
if (DEBUG_BUBBLE_DATA) {
Log.d(TAG, "overflowing bubble: " + bubbleToRemove);
}
mOverflowBubbles.add(0, bubbleToRemove);
if (mOverflowBubbles.size() == mMaxOverflowBubbles + 1) {
// Remove oldest bubble.
if (DEBUG_BUBBLE_DATA) {
Log.d(TAG, "Overflow full. Remove bubble: " + mOverflowBubbles.get(
mOverflowBubbles.size() - 1));
}
mOverflowBubbles.remove(mOverflowBubbles.size() - 1);
}
}
overflowBubble(reason, bubbleToRemove);
// Note: If mBubbles.isEmpty(), then mSelectedBubble is now null.
if (Objects.equals(mSelectedBubble, bubbleToRemove)) {
@@ -468,6 +455,25 @@ public class BubbleData {
maybeSendDeleteIntent(reason, bubbleToRemove.getEntry());
}
void overflowBubble(@DismissReason int reason, Bubble bubble) {
if (reason == BubbleController.DISMISS_AGED
|| reason == BubbleController.DISMISS_USER_GESTURE) {
if (DEBUG_BUBBLE_DATA) {
Log.d(TAG, "overflowing bubble: " + bubble);
}
mOverflowBubbles.add(0, bubble);
if (mOverflowBubbles.size() == mMaxOverflowBubbles + 1) {
// Remove oldest bubble.
if (DEBUG_BUBBLE_DATA) {
Log.d(TAG, "Overflow full. Remove bubble: " + mOverflowBubbles.get(
mOverflowBubbles.size() - 1));
}
mOverflowBubbles.remove(mOverflowBubbles.size() - 1);
}
}
}
public void dismissAll(@DismissReason int reason) {
if (DEBUG_BUBBLE_DATA) {
Log.d(TAG, "dismissAll: reason=" + reason);
@@ -478,9 +484,7 @@ public class BubbleData {
setExpandedInternal(false);
setSelectedBubbleInternal(null);
while (!mBubbles.isEmpty()) {
Bubble bubble = mBubbles.remove(0);
maybeSendDeleteIntent(reason, bubble.getEntry());
mStateChange.bubbleRemoved(bubble, reason);
doRemove(mBubbles.get(0).getKey(), reason);
}
dispatchPendingChanges();
}

View File

@@ -55,7 +55,6 @@ public class BubbleOverflowActivity extends Activity {
private BubbleOverflowAdapter mAdapter;
private RecyclerView mRecyclerView;
private List<Bubble> mOverflowBubbles = new ArrayList<>();
private int mMaxBubbles;
@Inject
public BubbleOverflowActivity(BubbleController controller) {
@@ -68,7 +67,6 @@ public class BubbleOverflowActivity extends Activity {
setContentView(R.layout.bubble_overflow_activity);
setBackgroundColor();
mMaxBubbles = getResources().getInteger(R.integer.bubbles_max_rendered);
mEmptyState = findViewById(R.id.bubble_overflow_empty_state);
mRecyclerView = findViewById(R.id.bubble_overflow_recycler);
mRecyclerView.setLayoutManager(
@@ -95,11 +93,7 @@ public class BubbleOverflowActivity extends Activity {
void onDataChanged(List<Bubble> bubbles) {
mOverflowBubbles.clear();
if (bubbles.size() > mMaxBubbles) {
mOverflowBubbles.addAll(bubbles.subList(mMaxBubbles, bubbles.size()));
} else {
mOverflowBubbles.addAll(bubbles);
}
mOverflowBubbles.addAll(bubbles);
mAdapter.notifyDataSetChanged();
if (mOverflowBubbles.isEmpty()) {