Loading packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java +12 −1 Original line number Diff line number Diff line Loading @@ -120,6 +120,7 @@ public class BubbleData { /** Bubbles that are being loaded but haven't been added to the stack just yet. */ private final List<Bubble> mPendingBubbles; private Bubble mSelectedBubble; private boolean mShowingOverflow; private boolean mExpanded; private final int mMaxBubbles; private final int mMaxOverflowBubbles; Loading Loading @@ -215,6 +216,10 @@ public class BubbleData { dispatchPendingChanges(); } void setShowingOverflow(boolean showingOverflow) { mShowingOverflow = showingOverflow; } private void moveOverflowBubbleToPending(Bubble b) { // Preserve new order for next repack, which sorts by last updated time. b.markUpdatedAt(mTimeSource.currentTimeMillis()); Loading Loading @@ -513,9 +518,11 @@ public class BubbleData { if (DEBUG_BUBBLE_DATA) { Log.d(TAG, "setSelectedBubbleInternal: " + bubble); } if (Objects.equals(bubble, mSelectedBubble)) { if (!mShowingOverflow && Objects.equals(bubble, mSelectedBubble)) { return; } // Otherwise, if we are showing the overflow menu, return to the previously selected bubble. if (bubble != null && !mBubbles.contains(bubble) && !mOverflowBubbles.contains(bubble)) { Log.e(TAG, "Cannot select bubble which doesn't exist!" + " (" + bubble + ") bubbles=" + mBubbles); Loading Loading @@ -559,6 +566,10 @@ public class BubbleData { mStateChange.orderChanged |= repackAll(); // Save the state which should be returned to when expanded (with no other changes) if (mShowingOverflow) { // Show previously selected bubble instead of overflow menu on next expansion. setSelectedBubbleInternal(mSelectedBubble); } if (mBubbles.indexOf(mSelectedBubble) > 0) { // Move the selected bubble to the top while collapsed. if (!mSelectedBubble.isOngoing() && mBubbles.get(0).isOngoing()) { Loading packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java +5 −2 Original line number Diff line number Diff line Loading @@ -442,8 +442,8 @@ public class BubbleStackView extends FrameLayout { // that means overflow was previously expanded. Set the selected bubble // internally without going through BubbleData (which would ignore it since it's // already selected). mBubbleData.setShowingOverflow(true); setSelectedBubble(clickedBubble); } } else { // Otherwise, we either tapped the stack (which means we're collapsed Loading Loading @@ -1232,8 +1232,12 @@ public class BubbleStackView extends FrameLayout { if (mExpandedBubble != null && mExpandedBubble.equals(bubbleToSelect)) { return; } if (bubbleToSelect == null || bubbleToSelect.getKey() != BubbleOverflow.KEY) { mBubbleData.setShowingOverflow(false); } final BubbleViewProvider previouslySelected = mExpandedBubble; mExpandedBubble = bubbleToSelect; updatePointerPosition(); if (mIsExpanded) { // Make the container of the expanded view transparent before removing the expanded view Loading @@ -1243,7 +1247,6 @@ public class BubbleStackView extends FrameLayout { mSurfaceSynchronizer.syncSurfaceAndRun(() -> { previouslySelected.setContentVisibility(false); updateExpandedBubble(); updatePointerPosition(); requestUpdate(); logBubbleEvent(previouslySelected, Loading Loading
packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java +12 −1 Original line number Diff line number Diff line Loading @@ -120,6 +120,7 @@ public class BubbleData { /** Bubbles that are being loaded but haven't been added to the stack just yet. */ private final List<Bubble> mPendingBubbles; private Bubble mSelectedBubble; private boolean mShowingOverflow; private boolean mExpanded; private final int mMaxBubbles; private final int mMaxOverflowBubbles; Loading Loading @@ -215,6 +216,10 @@ public class BubbleData { dispatchPendingChanges(); } void setShowingOverflow(boolean showingOverflow) { mShowingOverflow = showingOverflow; } private void moveOverflowBubbleToPending(Bubble b) { // Preserve new order for next repack, which sorts by last updated time. b.markUpdatedAt(mTimeSource.currentTimeMillis()); Loading Loading @@ -513,9 +518,11 @@ public class BubbleData { if (DEBUG_BUBBLE_DATA) { Log.d(TAG, "setSelectedBubbleInternal: " + bubble); } if (Objects.equals(bubble, mSelectedBubble)) { if (!mShowingOverflow && Objects.equals(bubble, mSelectedBubble)) { return; } // Otherwise, if we are showing the overflow menu, return to the previously selected bubble. if (bubble != null && !mBubbles.contains(bubble) && !mOverflowBubbles.contains(bubble)) { Log.e(TAG, "Cannot select bubble which doesn't exist!" + " (" + bubble + ") bubbles=" + mBubbles); Loading Loading @@ -559,6 +566,10 @@ public class BubbleData { mStateChange.orderChanged |= repackAll(); // Save the state which should be returned to when expanded (with no other changes) if (mShowingOverflow) { // Show previously selected bubble instead of overflow menu on next expansion. setSelectedBubbleInternal(mSelectedBubble); } if (mBubbles.indexOf(mSelectedBubble) > 0) { // Move the selected bubble to the top while collapsed. if (!mSelectedBubble.isOngoing() && mBubbles.get(0).isOngoing()) { Loading
packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java +5 −2 Original line number Diff line number Diff line Loading @@ -442,8 +442,8 @@ public class BubbleStackView extends FrameLayout { // that means overflow was previously expanded. Set the selected bubble // internally without going through BubbleData (which would ignore it since it's // already selected). mBubbleData.setShowingOverflow(true); setSelectedBubble(clickedBubble); } } else { // Otherwise, we either tapped the stack (which means we're collapsed Loading Loading @@ -1232,8 +1232,12 @@ public class BubbleStackView extends FrameLayout { if (mExpandedBubble != null && mExpandedBubble.equals(bubbleToSelect)) { return; } if (bubbleToSelect == null || bubbleToSelect.getKey() != BubbleOverflow.KEY) { mBubbleData.setShowingOverflow(false); } final BubbleViewProvider previouslySelected = mExpandedBubble; mExpandedBubble = bubbleToSelect; updatePointerPosition(); if (mIsExpanded) { // Make the container of the expanded view transparent before removing the expanded view Loading @@ -1243,7 +1247,6 @@ public class BubbleStackView extends FrameLayout { mSurfaceSynchronizer.syncSurfaceAndRun(() -> { previouslySelected.setContentVisibility(false); updateExpandedBubble(); updatePointerPosition(); requestUpdate(); logBubbleEvent(previouslySelected, Loading