Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +6 −5 Original line number Diff line number Diff line Loading @@ -1799,11 +1799,12 @@ public class BubbleController implements ConfigurationChangeListener, @Override public void removeBubble(Bubble removedBubble) { if (mLayerView != null) { mLayerView.removeBubble(removedBubble); mLayerView.removeBubble(removedBubble, () -> { if (!mBubbleData.hasBubbles() && !isStackExpanded()) { mLayerView.setVisibility(INVISIBLE); removeFromWindowManagerMaybe(); } }); } } Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarLayerView.java +10 −3 Original line number Diff line number Diff line Loading @@ -242,13 +242,17 @@ public class BubbleBarLayerView extends FrameLayout } /** Removes the given {@code bubble}. */ public void removeBubble(Bubble bubble) { public void removeBubble(Bubble bubble, Runnable endAction) { Runnable cleanUp = () -> { bubble.cleanupViews(); endAction.run(); }; if (mBubbleData.getBubbles().isEmpty()) { // we're removing the last bubble. collapse the expanded view and cleanup bubble views // at the end. collapse(bubble::cleanupViews); collapse(cleanUp); } else { bubble.cleanupViews(); cleanUp.run(); } } Loading @@ -264,6 +268,9 @@ public class BubbleBarLayerView extends FrameLayout */ public void collapse(@Nullable Runnable endAction) { if (!mIsExpanded) { if (endAction != null) { endAction.run(); } return; } mIsExpanded = false; Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +6 −5 Original line number Diff line number Diff line Loading @@ -1799,11 +1799,12 @@ public class BubbleController implements ConfigurationChangeListener, @Override public void removeBubble(Bubble removedBubble) { if (mLayerView != null) { mLayerView.removeBubble(removedBubble); mLayerView.removeBubble(removedBubble, () -> { if (!mBubbleData.hasBubbles() && !isStackExpanded()) { mLayerView.setVisibility(INVISIBLE); removeFromWindowManagerMaybe(); } }); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarLayerView.java +10 −3 Original line number Diff line number Diff line Loading @@ -242,13 +242,17 @@ public class BubbleBarLayerView extends FrameLayout } /** Removes the given {@code bubble}. */ public void removeBubble(Bubble bubble) { public void removeBubble(Bubble bubble, Runnable endAction) { Runnable cleanUp = () -> { bubble.cleanupViews(); endAction.run(); }; if (mBubbleData.getBubbles().isEmpty()) { // we're removing the last bubble. collapse the expanded view and cleanup bubble views // at the end. collapse(bubble::cleanupViews); collapse(cleanUp); } else { bubble.cleanupViews(); cleanUp.run(); } } Loading @@ -264,6 +268,9 @@ public class BubbleBarLayerView extends FrameLayout */ public void collapse(@Nullable Runnable endAction) { if (!mIsExpanded) { if (endAction != null) { endAction.run(); } return; } mIsExpanded = false; Loading