Loading core/java/android/view/inputmethod/InputMethodManager.java +31 −17 Original line number Diff line number Diff line Loading @@ -2557,21 +2557,24 @@ public final class InputMethodManager { public boolean hideSoftInputFromWindow(IBinder windowToken, @HideFlags int flags, ResultReceiver resultReceiver) { return hideSoftInputFromWindow(windowToken, flags, resultReceiver, SoftInputShowHideReason.HIDE_SOFT_INPUT); SoftInputShowHideReason.HIDE_SOFT_INPUT, null); } private boolean hideSoftInputFromWindow(IBinder windowToken, @HideFlags int flags, ResultReceiver resultReceiver, @SoftInputShowHideReason int reason) { ResultReceiver resultReceiver, @SoftInputShowHideReason int reason, @Nullable ImeTracker.Token statsToken) { // Get served view initially for statsToken creation. final View initialServedView; synchronized (mH) { initialServedView = getServedViewLocked(); } final var statsToken = ImeTracker.forLogging().onStart(ImeTracker.TYPE_HIDE, if (statsToken == null) { statsToken = ImeTracker.forLogging().onStart(ImeTracker.TYPE_HIDE, ImeTracker.ORIGIN_CLIENT, reason, ImeTracker.isFromUser(initialServedView)); ImeTracker.forLatency().onRequestHide(statsToken, ImeTracker.ORIGIN_CLIENT, reason, ActivityThread::currentApplication); ImeTracker.forLatency().onRequestHide(statsToken, ImeTracker.ORIGIN_CLIENT, reason, ActivityThread::currentApplication); } ImeTracing.getInstance().triggerClientDump("InputMethodManager#hideSoftInputFromWindow", this, null /* icProto */); checkFocus(); Loading Loading @@ -2665,8 +2668,14 @@ public final class InputMethodManager { ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_CLIENT_VIEW_SERVED); return IInputMethodManagerGlobalInvoker.hideSoftInput(mClient, view.getWindowToken(), statsToken, flags, null, reason, mAsyncShowHideMethodEnabled); if (Flags.refactorInsetsController()) { return hideSoftInputFromWindow(view.getWindowToken(), flags, null /* resultReceiver */, reason, statsToken); } else { return IInputMethodManagerGlobalInvoker.hideSoftInput(mClient, view.getWindowToken(), statsToken, flags, null, reason, mAsyncShowHideMethodEnabled); } } } Loading Loading @@ -3162,7 +3171,7 @@ public final class InputMethodManager { if (rootInsets != null && rootInsets.isVisible(WindowInsets.Type.ime())) { hideSoftInputFromWindow(view.getWindowToken(), hideFlags, null /* resultReceiver */, SoftInputShowHideReason.HIDE_TOGGLE_SOFT_INPUT); SoftInputShowHideReason.HIDE_TOGGLE_SOFT_INPUT, null); } else { showSoftInput(view, showFlags, null /* resultReceiver */, SoftInputShowHideReason.SHOW_TOGGLE_SOFT_INPUT); Loading Loading @@ -3740,6 +3749,10 @@ public final class InputMethodManager { ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_CLIENT_VIEW_SERVED); if (Flags.refactorInsetsController()) { mCurRootView.getInsetsController().hide(WindowInsets.Type.ime(), false /* fromIme */, statsToken); } else { IInputMethodManagerGlobalInvoker.hideSoftInput( mClient, rootView.getWindowToken(), Loading @@ -3750,6 +3763,7 @@ public final class InputMethodManager { true /*async */); } } } /** * Register for IME state callbacks and applying visibility in Loading Loading
core/java/android/view/inputmethod/InputMethodManager.java +31 −17 Original line number Diff line number Diff line Loading @@ -2557,21 +2557,24 @@ public final class InputMethodManager { public boolean hideSoftInputFromWindow(IBinder windowToken, @HideFlags int flags, ResultReceiver resultReceiver) { return hideSoftInputFromWindow(windowToken, flags, resultReceiver, SoftInputShowHideReason.HIDE_SOFT_INPUT); SoftInputShowHideReason.HIDE_SOFT_INPUT, null); } private boolean hideSoftInputFromWindow(IBinder windowToken, @HideFlags int flags, ResultReceiver resultReceiver, @SoftInputShowHideReason int reason) { ResultReceiver resultReceiver, @SoftInputShowHideReason int reason, @Nullable ImeTracker.Token statsToken) { // Get served view initially for statsToken creation. final View initialServedView; synchronized (mH) { initialServedView = getServedViewLocked(); } final var statsToken = ImeTracker.forLogging().onStart(ImeTracker.TYPE_HIDE, if (statsToken == null) { statsToken = ImeTracker.forLogging().onStart(ImeTracker.TYPE_HIDE, ImeTracker.ORIGIN_CLIENT, reason, ImeTracker.isFromUser(initialServedView)); ImeTracker.forLatency().onRequestHide(statsToken, ImeTracker.ORIGIN_CLIENT, reason, ActivityThread::currentApplication); ImeTracker.forLatency().onRequestHide(statsToken, ImeTracker.ORIGIN_CLIENT, reason, ActivityThread::currentApplication); } ImeTracing.getInstance().triggerClientDump("InputMethodManager#hideSoftInputFromWindow", this, null /* icProto */); checkFocus(); Loading Loading @@ -2665,8 +2668,14 @@ public final class InputMethodManager { ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_CLIENT_VIEW_SERVED); return IInputMethodManagerGlobalInvoker.hideSoftInput(mClient, view.getWindowToken(), statsToken, flags, null, reason, mAsyncShowHideMethodEnabled); if (Flags.refactorInsetsController()) { return hideSoftInputFromWindow(view.getWindowToken(), flags, null /* resultReceiver */, reason, statsToken); } else { return IInputMethodManagerGlobalInvoker.hideSoftInput(mClient, view.getWindowToken(), statsToken, flags, null, reason, mAsyncShowHideMethodEnabled); } } } Loading Loading @@ -3162,7 +3171,7 @@ public final class InputMethodManager { if (rootInsets != null && rootInsets.isVisible(WindowInsets.Type.ime())) { hideSoftInputFromWindow(view.getWindowToken(), hideFlags, null /* resultReceiver */, SoftInputShowHideReason.HIDE_TOGGLE_SOFT_INPUT); SoftInputShowHideReason.HIDE_TOGGLE_SOFT_INPUT, null); } else { showSoftInput(view, showFlags, null /* resultReceiver */, SoftInputShowHideReason.SHOW_TOGGLE_SOFT_INPUT); Loading Loading @@ -3740,6 +3749,10 @@ public final class InputMethodManager { ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_CLIENT_VIEW_SERVED); if (Flags.refactorInsetsController()) { mCurRootView.getInsetsController().hide(WindowInsets.Type.ime(), false /* fromIme */, statsToken); } else { IInputMethodManagerGlobalInvoker.hideSoftInput( mClient, rootView.getWindowToken(), Loading @@ -3750,6 +3763,7 @@ public final class InputMethodManager { true /*async */); } } } /** * Register for IME state callbacks and applying visibility in Loading