diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java index cf793f021a294..02f17ef2f38c1 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java @@ -415,6 +415,16 @@ public class BubbleController implements ConfigurationController.ConfigurationLi mCallbacks.add(callback); } + /** + * Dispatches a back press into the expanded Bubble's ActivityView if its IME is visible, + * causing it to hide. + */ + public void hideImeFromExpandedBubble() { + if (mStackView != null) { + mStackView.hideImeFromExpandedBubble(); + } + } + private void setupNEM() { mNotificationEntryManager.addNotificationEntryListener( new NotificationEntryListener() { diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java index 95c8d08841df1..4859c9774bd17 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java @@ -1656,6 +1656,14 @@ public class BubbleStackView extends FrameLayout } } + void hideImeFromExpandedBubble() { + if (mExpandedBubble != null && mExpandedBubble.getExpandedView() != null) { + // Hide the currently expanded bubble's IME if it's visible before switching to a new + // bubble. + mExpandedBubble.getExpandedView().hideImeIfVisible(); + } + } + private void beforeExpandedViewAnimation() { hideFlyoutImmediate(); updateExpandedBubble(); @@ -2238,11 +2246,7 @@ public class BubbleStackView extends FrameLayout Log.d(TAG, "updateExpandedBubble()"); } - if (mExpandedBubble != null && mExpandedBubble.getExpandedView() != null) { - // Hide the currently expanded bubble's IME if it's visible before switching to a new - // bubble. - mExpandedBubble.getExpandedView().hideImeIfVisible(); - } + hideImeFromExpandedBubble(); mExpandedViewContainer.removeAllViews(); if (mIsExpanded && mExpandedBubble != null