Add a public method to BubbleController to hide the IME.
Since the IME focus is given to the virtual display inside the expanded bubble, whatever method Screenshots is using to hide the IME doesn't work. Test: manual Bug: 157756391 Change-Id: Ic052133c29f269c264f4b2e8dbce29414702e634
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user