Merge "Re-compute IME target after the transition finished"

This commit is contained in:
Riddle Hsu
2021-12-30 06:32:37 +00:00
committed by Android (Google) Code Review
2 changed files with 6 additions and 7 deletions

View File

@@ -1037,13 +1037,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
}
}
final boolean curDisplayInTransitNotAnimate =
// legacy transition
(curDisplay.mAppTransition.isRunning() && !curDisplay.isAppTransitioning())
// shell transition
|| (curDisplay.mTransitionController.isShellTransitionsEnabled()
&& !curDisplay.mTransitionController.isPlaying());
if (curDisplayInTransitNotAnimate) {
if (curDisplay.mAppTransition.isRunning() && !curDisplay.isAppTransitioning()) {
// We have finished the animation of an app transition. To do this, we have
// delayed a lot of operations like showing and hiding apps, moving apps in
// Z-order, etc.

View File

@@ -497,6 +497,11 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe
if (fadeRotationController != null) {
fadeRotationController.onTransitionFinished();
}
// Transient-launch activities cannot be IME target (WindowState#canBeImeTarget),
// so re-compute in case the IME target is changed after transition.
if (mTransientLaunches != null) {
mTargetDisplay.computeImeTarget(true /* updateImeTarget */);
}
}
void abort() {