Merge "Calling updateImeParent when the layering target is staled" into sc-dev
This commit is contained in:
@@ -3833,7 +3833,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
|
|||||||
// 4. Update the IME control target to apply any inset change and animation.
|
// 4. Update the IME control target to apply any inset change and animation.
|
||||||
// 5. Reparent the IME container surface to either the input target app, or the IME window
|
// 5. Reparent the IME container surface to either the input target app, or the IME window
|
||||||
// parent.
|
// parent.
|
||||||
updateImeControlTarget();
|
updateImeControlTarget(true /* forceUpdateImeParent */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -3965,12 +3965,17 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
|
|||||||
}
|
}
|
||||||
|
|
||||||
void updateImeControlTarget() {
|
void updateImeControlTarget() {
|
||||||
|
updateImeControlTarget(false /* forceUpdateImeParent */);
|
||||||
|
}
|
||||||
|
|
||||||
|
void updateImeControlTarget(boolean forceUpdateImeParent) {
|
||||||
InsetsControlTarget prevImeControlTarget = mImeControlTarget;
|
InsetsControlTarget prevImeControlTarget = mImeControlTarget;
|
||||||
mImeControlTarget = computeImeControlTarget();
|
mImeControlTarget = computeImeControlTarget();
|
||||||
mInsetsStateController.onImeControlTargetChanged(mImeControlTarget);
|
mInsetsStateController.onImeControlTargetChanged(mImeControlTarget);
|
||||||
// Update Ime parent when IME insets leash created, which is the best time that default
|
// Update Ime parent when IME insets leash created or the new IME layering target might
|
||||||
// IME visibility has been settled down after IME control target changed.
|
// updated from setImeLayeringTarget, which is the best time that default IME visibility
|
||||||
if (prevImeControlTarget != mImeControlTarget) {
|
// has been settled down after IME control target changed.
|
||||||
|
if (prevImeControlTarget != mImeControlTarget || forceUpdateImeParent) {
|
||||||
updateImeParent();
|
updateImeParent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user