diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/DisplayContent.java | 8 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java | 3 |
2 files changed, 8 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index b31ae908251e..f167ed14f8ae 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -5081,9 +5081,11 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); } - // This should be called after the insets have been dispatched to clients and we have - // committed finish drawing windows. - mInsetsStateController.getImeSourceProvider().checkAndStartShowImePostLayout(); + if (!android.view.inputmethod.Flags.refactorInsetsController()) { + // This should be called after the insets have been dispatched to clients and we have + // committed finish drawing windows. + mInsetsStateController.getImeSourceProvider().checkAndStartShowImePostLayout(); + } mLastHasContent = mTmpApplySurfaceChangesTransactionState.displayHasContent; if (!inTransition() && !mDisplayRotation.isRotatingSeamlessly()) { diff --git a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java index 4f4daa132859..3a5f9b7dd4fc 100644 --- a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java +++ b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java @@ -105,6 +105,7 @@ final class ImeInsetsSourceProvider extends InsetsSourceProvider { ImeTracker.forLogging().onProgress(mStatsToken, ImeTracker.PHASE_WM_POST_LAYOUT_NOTIFY_CONTROLS_CHANGED); mStateController.notifyControlChanged(mControlTarget); + setImeShowing(true); } else if (wasServerVisible && mServerVisible && mGivenInsetsReady && givenInsetsPending) { // If the server visibility didn't change (still visible), and mGivenInsetsReady @@ -113,6 +114,8 @@ final class ImeInsetsSourceProvider extends InsetsSourceProvider { ImeTracker.forLogging().onCancelled(mStatsToken, ImeTracker.PHASE_WM_POST_LAYOUT_NOTIFY_CONTROLS_CHANGED); mStatsToken = null; + } else if (wasServerVisible && !mServerVisible) { + setImeShowing(false); } } } |