Merge "Visible activity can be an ime target"
This commit is contained in:
@@ -2547,7 +2547,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
|
||||
if (DEBUG_INPUT_METHOD) {
|
||||
Slog.i(TAG_WM, "isVisibleRequestedOrAdding " + this + ": "
|
||||
+ isVisibleRequestedOrAdding());
|
||||
+ isVisibleRequestedOrAdding() + " isVisible: " + (isVisible()
|
||||
&& mActivityRecord != null && mActivityRecord.isVisible()));
|
||||
if (!isVisibleRequestedOrAdding()) {
|
||||
Slog.i(TAG_WM, " mSurfaceController=" + mWinAnimator.mSurfaceController
|
||||
+ " relayoutCalled=" + mRelayoutCalled
|
||||
@@ -2562,7 +2563,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
}
|
||||
}
|
||||
}
|
||||
return isVisibleRequestedOrAdding();
|
||||
return isVisibleRequestedOrAdding()
|
||||
|| (isVisible() && mActivityRecord != null && mActivityRecord.isVisible());
|
||||
}
|
||||
|
||||
private final class DeadWindowEventReceiver extends InputEventReceiver {
|
||||
|
||||
@@ -252,6 +252,11 @@ public class WindowStateTests extends WindowTestsBase {
|
||||
assertFalse(appWindow.canBeImeTarget());
|
||||
appWindow.mActivityRecord.setWindowingMode(initialMode);
|
||||
|
||||
// Verify that app window can still be IME target as long as it is visible (even if
|
||||
// it is going to become invisible).
|
||||
appWindow.mActivityRecord.mVisibleRequested = false;
|
||||
assertTrue(appWindow.canBeImeTarget());
|
||||
|
||||
// Make windows invisible
|
||||
appWindow.hide(false /* doAnimation */, false /* requestAnim */);
|
||||
imeWindow.hide(false /* doAnimation */, false /* requestAnim */);
|
||||
|
||||
Reference in New Issue
Block a user