Loading packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java +19 −15 Original line number Diff line number Diff line Loading @@ -443,11 +443,26 @@ public class BubbleData { mStateChange.orderChanged |= repackAll(); } if (reason == BubbleController.DISMISS_AGED) { overflowBubble(reason, bubbleToRemove); // Note: If mBubbles.isEmpty(), then mSelectedBubble is now null. if (Objects.equals(mSelectedBubble, bubbleToRemove)) { // Move selection to the new bubble at the same position. int newIndex = Math.min(indexToRemove, mBubbles.size() - 1); Bubble newSelected = mBubbles.get(newIndex); setSelectedBubbleInternal(newSelected); } 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: " + bubbleToRemove); Log.d(TAG, "overflowing bubble: " + bubble); } mOverflowBubbles.add(0, bubbleToRemove); mOverflowBubbles.add(0, bubble); if (mOverflowBubbles.size() == mMaxOverflowBubbles + 1) { // Remove oldest bubble. if (DEBUG_BUBBLE_DATA) { Loading @@ -457,15 +472,6 @@ public class BubbleData { mOverflowBubbles.remove(mOverflowBubbles.size() - 1); } } // Note: If mBubbles.isEmpty(), then mSelectedBubble is now null. if (Objects.equals(mSelectedBubble, bubbleToRemove)) { // Move selection to the new bubble at the same position. int newIndex = Math.min(indexToRemove, mBubbles.size() - 1); Bubble newSelected = mBubbles.get(newIndex); setSelectedBubbleInternal(newSelected); } maybeSendDeleteIntent(reason, bubbleToRemove.getEntry()); } public void dismissAll(@DismissReason int reason) { Loading @@ -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(); } Loading packages/SystemUI/src/com/android/systemui/bubbles/BubbleOverflowActivity.java +1 −7 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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( Loading @@ -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); } mAdapter.notifyDataSetChanged(); if (mOverflowBubbles.isEmpty()) { Loading Loading
packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java +19 −15 Original line number Diff line number Diff line Loading @@ -443,11 +443,26 @@ public class BubbleData { mStateChange.orderChanged |= repackAll(); } if (reason == BubbleController.DISMISS_AGED) { overflowBubble(reason, bubbleToRemove); // Note: If mBubbles.isEmpty(), then mSelectedBubble is now null. if (Objects.equals(mSelectedBubble, bubbleToRemove)) { // Move selection to the new bubble at the same position. int newIndex = Math.min(indexToRemove, mBubbles.size() - 1); Bubble newSelected = mBubbles.get(newIndex); setSelectedBubbleInternal(newSelected); } 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: " + bubbleToRemove); Log.d(TAG, "overflowing bubble: " + bubble); } mOverflowBubbles.add(0, bubbleToRemove); mOverflowBubbles.add(0, bubble); if (mOverflowBubbles.size() == mMaxOverflowBubbles + 1) { // Remove oldest bubble. if (DEBUG_BUBBLE_DATA) { Loading @@ -457,15 +472,6 @@ public class BubbleData { mOverflowBubbles.remove(mOverflowBubbles.size() - 1); } } // Note: If mBubbles.isEmpty(), then mSelectedBubble is now null. if (Objects.equals(mSelectedBubble, bubbleToRemove)) { // Move selection to the new bubble at the same position. int newIndex = Math.min(indexToRemove, mBubbles.size() - 1); Bubble newSelected = mBubbles.get(newIndex); setSelectedBubbleInternal(newSelected); } maybeSendDeleteIntent(reason, bubbleToRemove.getEntry()); } public void dismissAll(@DismissReason int reason) { Loading @@ -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(); } Loading
packages/SystemUI/src/com/android/systemui/bubbles/BubbleOverflowActivity.java +1 −7 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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( Loading @@ -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); } mAdapter.notifyDataSetChanged(); if (mOverflowBubbles.isEmpty()) { Loading