diff options
6 files changed, 13 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java index 14daf62a9ed2..ffd714b26b08 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java @@ -159,9 +159,12 @@ public abstract class InputMethodManagerInternal { /** * Updates the IME visibility, back disposition and show IME picker status for SystemUI. * TODO(b/189923292): Making SystemUI to be true IME icon controller vs. presenter that - * controlled by IMMS. + * controlled by IMMS. + * + * @param disableImeIcon indicates whether IME icon should be enabled or not + * @param displayId the display for which to update the IME window status */ - public abstract void updateImeWindowStatus(boolean disableImeIcon); + public abstract void updateImeWindowStatus(boolean disableImeIcon, int displayId); /** * Finish stylus handwriting by calling {@link InputMethodService#finishStylusHandwriting()} if @@ -269,7 +272,7 @@ public abstract class InputMethodManagerInternal { } @Override - public void updateImeWindowStatus(boolean disableImeIcon) { + public void updateImeWindowStatus(boolean disableImeIcon, int displayId) { } @Override diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index b7007854dab8..b1a362d09f16 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -5674,7 +5674,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub } @Override - public void updateImeWindowStatus(boolean disableImeIcon) { + public void updateImeWindowStatus(boolean disableImeIcon, int displayId) { mHandler.obtainMessage(MSG_UPDATE_IME_WINDOW_STATUS, disableImeIcon ? 1 : 0, 0) .sendToTarget(); } diff --git a/services/core/java/com/android/server/wm/InputMonitor.java b/services/core/java/com/android/server/wm/InputMonitor.java index 14912d041127..bf30af3e8596 100644 --- a/services/core/java/com/android/server/wm/InputMonitor.java +++ b/services/core/java/com/android/server/wm/InputMonitor.java @@ -461,7 +461,7 @@ final class InputMonitor { // in animating before the next app window focused, or IME icon // persists on the bottom when swiping the task to recents. InputMethodManagerInternal.get().updateImeWindowStatus( - true /* disableImeIcon */); + true /* disableImeIcon */, mDisplayContent.getDisplayId()); } } return; diff --git a/services/core/java/com/android/server/wm/KeyguardController.java b/services/core/java/com/android/server/wm/KeyguardController.java index ccaa3b07aaaa..cbc7b836d250 100644 --- a/services/core/java/com/android/server/wm/KeyguardController.java +++ b/services/core/java/com/android/server/wm/KeyguardController.java @@ -240,7 +240,8 @@ class KeyguardController { // state when evaluating visibilities. updateKeyguardSleepToken(); mRootWindowContainer.ensureActivitiesVisible(null, 0, !PRESERVE_WINDOWS); - InputMethodManagerInternal.get().updateImeWindowStatus(false /* disableImeIcon */); + InputMethodManagerInternal.get().updateImeWindowStatus(false /* disableImeIcon */, + displayId); setWakeTransitionReady(); if (aodChanged) { // Ensure the new state takes effect. diff --git a/services/core/java/com/android/server/wm/RecentsAnimationController.java b/services/core/java/com/android/server/wm/RecentsAnimationController.java index ef2572665281..dd538deee5cd 100644 --- a/services/core/java/com/android/server/wm/RecentsAnimationController.java +++ b/services/core/java/com/android/server/wm/RecentsAnimationController.java @@ -967,7 +967,8 @@ public class RecentsAnimationController implements DeathRecipient { // Restore IME icon only when moving the original app task to front from recents, in case // IME icon may missing if the moving task has already been the current focused task. if (reorderMode == REORDER_MOVE_TO_ORIGINAL_POSITION && !mIsAddingTaskToTargets) { - InputMethodManagerInternal.get().updateImeWindowStatus(false /* disableImeIcon */); + InputMethodManagerInternal.get().updateImeWindowStatus( + false /* disableImeIcon */, mDisplayId); } // Update the input windows after the animation is complete diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index 424394872821..76c4a0ee438b 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -1390,7 +1390,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { // recents, in case IME icon may missing if the moving task has already been // the current focused task. InputMethodManagerInternal.get().updateImeWindowStatus( - false /* disableImeIcon */); + false /* disableImeIcon */, dc.getDisplayId()); } // An uncommitted transient launch can leave incomplete lifecycles if visibilities // didn't change (eg. re-ordering with translucent tasks will leave launcher |