Fix for IME exclusions not working with expanded bubble
- Technically the IME window is above the Bubble window, but when traversing the windows top-down for calculating the final exclusion region for SysUI, the IME is placed just above its target (the embedded task), and the Bubble's full touchable region effectively overrides the IME's requested exclusion region Fixes: 190338512 Test: Expand a bubble, swipe from IME edge Change-Id: Idd71eabfaba1be4bc6fc90d09db28d3f9e9106c5
This commit is contained in:
@@ -852,13 +852,6 @@ public class BubbleStackView extends FrameLayout
|
||||
mTaskbarScrim.setAlpha(0f);
|
||||
mTaskbarScrim.setVisibility(GONE);
|
||||
|
||||
setOnApplyWindowInsetsListener((View view, WindowInsets insets) -> {
|
||||
if (!mIsExpanded || mIsExpansionAnimating) {
|
||||
return view.onApplyWindowInsets(insets);
|
||||
}
|
||||
return view.onApplyWindowInsets(insets);
|
||||
});
|
||||
|
||||
mOrientationChangedListener =
|
||||
(v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
|
||||
mPositioner.update();
|
||||
@@ -2465,6 +2458,10 @@ public class BubbleStackView extends FrameLayout
|
||||
}
|
||||
} else {
|
||||
mBubbleContainer.getBoundsOnScreen(outRect);
|
||||
// Account for the IME in the touchable region so that the touchable region of the
|
||||
// Bubble window doesn't obscure the IME. The touchable region affects which areas
|
||||
// of the screen can be excluded by lower windows (IME is just above the embedded task)
|
||||
outRect.bottom -= (int) mStackAnimationController.getImeHeight();
|
||||
}
|
||||
|
||||
if (mFlyout.getVisibility() == View.VISIBLE) {
|
||||
|
||||
@@ -529,6 +529,11 @@ public class StackAnimationController extends
|
||||
mImeHeight = imeHeight;
|
||||
}
|
||||
|
||||
/** Returns the current IME height that the stack is offset by. */
|
||||
public float getImeHeight() {
|
||||
return mImeHeight;
|
||||
}
|
||||
|
||||
/**
|
||||
* Animates the stack either away from the newly visible IME, or back to its original position
|
||||
* due to the IME going away.
|
||||
|
||||
Reference in New Issue
Block a user