diff options
| author | 2024-09-28 21:29:47 +0000 | |
|---|---|---|
| committer | 2024-09-28 21:29:47 +0000 | |
| commit | 22ddfb758c1ba90a59bf45d3368ad413b0261e92 (patch) | |
| tree | 80b0f45b710d4faced45916ce14a246f947ced26 | |
| parent | f5df21d070e1101d0fcbc0937d39e0f2c816ad3a (diff) | |
| parent | 67fe0bbc30970e2819978d2dd94e2a42f709497f (diff) | |
Merge "ZeroJank: Make version-gate flag non-static" into main
| -rw-r--r-- | core/java/android/view/inputmethod/InputMethodManager.java | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index 2f649c21fe08..1e5c6d8177e1 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -465,13 +465,6 @@ public final class InputMethodManager { private static final long USE_ASYNC_SHOW_HIDE_METHOD = 352594277L; // This is a bug id. /** - * Version-gating is guarded by bug-fix flag. - */ - private static final boolean ASYNC_SHOW_HIDE_METHOD_ENABLED = - !Flags.compatchangeForZerojankproxy() - || CompatChanges.isChangeEnabled(USE_ASYNC_SHOW_HIDE_METHOD); - - /** * If {@code true}, avoid calling the * {@link com.android.server.inputmethod.InputMethodManagerService InputMethodManagerService} * by skipping the call to {@link IInputMethodManager#startInputOrWindowGainedFocus} @@ -614,6 +607,15 @@ public final class InputMethodManager { @UnsupportedAppUsage Rect mCursorRect = new Rect(); + /** + * Version-gating is guarded by bug-fix flag. + */ + // Note: this is non-static so that it only gets initialized once CompatChanges has + // access to the correct application context. + private final boolean mAsyncShowHideMethodEnabled = + !Flags.compatchangeForZerojankproxy() + || CompatChanges.isChangeEnabled(USE_ASYNC_SHOW_HIDE_METHOD); + /** Cached value for {@link #isStylusHandwritingAvailable} for userId. */ @GuardedBy("mH") private PropertyInvalidatedCache<Integer, Boolean> mStylusHandwritingAvailableCache; @@ -2419,7 +2421,7 @@ public final class InputMethodManager { mCurRootView.getLastClickToolType(), resultReceiver, reason, - ASYNC_SHOW_HIDE_METHOD_ENABLED); + mAsyncShowHideMethodEnabled); } } } @@ -2463,7 +2465,7 @@ public final class InputMethodManager { mCurRootView.getLastClickToolType(), resultReceiver, reason, - ASYNC_SHOW_HIDE_METHOD_ENABLED); + mAsyncShowHideMethodEnabled); } } @@ -2572,7 +2574,7 @@ public final class InputMethodManager { return true; } else { return IInputMethodManagerGlobalInvoker.hideSoftInput(mClient, windowToken, - statsToken, flags, resultReceiver, reason, ASYNC_SHOW_HIDE_METHOD_ENABLED); + statsToken, flags, resultReceiver, reason, mAsyncShowHideMethodEnabled); } } } @@ -2615,7 +2617,7 @@ public final class InputMethodManager { ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_CLIENT_VIEW_SERVED); return IInputMethodManagerGlobalInvoker.hideSoftInput(mClient, view.getWindowToken(), - statsToken, flags, null, reason, ASYNC_SHOW_HIDE_METHOD_ENABLED); + statsToken, flags, null, reason, mAsyncShowHideMethodEnabled); } } @@ -3392,7 +3394,7 @@ public final class InputMethodManager { servedInputConnection == null ? null : servedInputConnection.asIRemoteAccessibilityInputConnection(), view.getContext().getApplicationInfo().targetSdkVersion, targetUserId, - mImeDispatcher, ASYNC_SHOW_HIDE_METHOD_ENABLED); + mImeDispatcher, mAsyncShowHideMethodEnabled); } else { res = IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus( startInputReason, mClient, windowGainingFocus, startInputFlags, |