Loading core/api/test-current.txt +3 −3 Original line number Diff line number Diff line Loading @@ -3797,14 +3797,14 @@ package android.view.inputmethod { public final class InputMethodManager { method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public void addVirtualStylusIdForTestSession(); method public int getDisplayId(); method @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public java.util.List<android.view.inputmethod.InputMethodInfo> getEnabledInputMethodListAsUser(@NonNull android.os.UserHandle); method @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public java.util.List<android.view.inputmethod.InputMethodSubtype> getEnabledInputMethodSubtypeListAsUser(@NonNull String, boolean, @NonNull android.os.UserHandle); method @FlaggedApi("android.view.inputmethod.imm_userhandle_hostsidetests") @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public java.util.List<android.view.inputmethod.InputMethodInfo> getEnabledInputMethodListAsUser(@NonNull android.os.UserHandle); method @FlaggedApi("android.view.inputmethod.imm_userhandle_hostsidetests") @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public java.util.List<android.view.inputmethod.InputMethodSubtype> getEnabledInputMethodSubtypeListAsUser(@NonNull String, boolean, @NonNull android.os.UserHandle); method @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public java.util.List<android.view.inputmethod.InputMethodInfo> getInputMethodListAsUser(int); method public boolean hasActiveInputConnection(@Nullable android.view.View); method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public boolean hasPendingImeVisibilityRequests(); method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public boolean isCurrentRootView(@NonNull android.view.View); method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public boolean isInputMethodPickerShown(); method @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public boolean isStylusHandwritingAvailableAsUser(@NonNull android.os.UserHandle); method @FlaggedApi("android.view.inputmethod.imm_userhandle_hostsidetests") @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public boolean isStylusHandwritingAvailableAsUser(@NonNull android.os.UserHandle); method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public void setStylusWindowIdleTimeoutForTest(long); field public static final long CLEAR_SHOW_FORCED_FLAG_WHEN_LEAVING = 214016041L; // 0xcc1a029L } Loading core/java/android/view/inputmethod/InputMethodManager.java +6 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import android.Manifest; import android.annotation.DisplayContext; import android.annotation.DrawableRes; import android.annotation.DurationMillisLong; import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -1512,6 +1513,7 @@ public final class InputMethodManager { * Returns {@code true} if currently selected IME supports Stylus handwriting & is enabled. * If the method returns {@code false}, {@link #startStylusHandwriting(View)} shouldn't be * called and Stylus touch should continue as normal touch input. * * @see #startStylusHandwriting(View) */ public boolean isStylusHandwritingAvailable() { Loading @@ -1535,6 +1537,7 @@ public final class InputMethodManager { @NonNull @RequiresPermission(value = Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true) @TestApi @FlaggedApi(Flags.FLAG_IMM_USERHANDLE_HOSTSIDETESTS) @SuppressLint("UserHandle") public boolean isStylusHandwritingAvailableAsUser(@NonNull UserHandle user) { final Context fallbackContext = ActivityThread.currentApplication(); Loading Loading @@ -1655,6 +1658,7 @@ public final class InputMethodManager { @NonNull @RequiresPermission(value = Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true) @TestApi @FlaggedApi(Flags.FLAG_IMM_USERHANDLE_HOSTSIDETESTS) @SuppressLint("UserHandle") public List<InputMethodInfo> getEnabledInputMethodListAsUser(@NonNull UserHandle user) { return IInputMethodManagerGlobalInvoker.getEnabledInputMethodList(user.getIdentifier()); Loading Loading @@ -1690,12 +1694,13 @@ public final class InputMethodManager { * {@link Manifest.permission#INTERACT_ACROSS_USERS_FULL} is required if this is * different from the calling process user ID. * @return {@link List} of {@link InputMethodSubtype}. * @see #getEnabledInputMethodListAsUser(int) * @see #getEnabledInputMethodListAsUser(UserHandle) * @hide */ @NonNull @RequiresPermission(value = Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true) @TestApi @FlaggedApi(Flags.FLAG_IMM_USERHANDLE_HOSTSIDETESTS) @SuppressLint("UserHandle") public List<InputMethodSubtype> getEnabledInputMethodSubtypeListAsUser( @NonNull String imeId, boolean allowsImplicitlyEnabledSubtypes, Loading core/java/android/view/inputmethod/flags.aconfig +8 −0 Original line number Diff line number Diff line Loading @@ -15,3 +15,11 @@ flag { bug: "293898187" is_fixed_read_only: true } flag { name: "imm_userhandle_hostsidetests" namespace: "input_method" description: "Feature flag for replacing UserIdInt with UserHandle in some helper IMM functions" bug: "301713309" is_fixed_read_only: true } No newline at end of file Loading
core/api/test-current.txt +3 −3 Original line number Diff line number Diff line Loading @@ -3797,14 +3797,14 @@ package android.view.inputmethod { public final class InputMethodManager { method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public void addVirtualStylusIdForTestSession(); method public int getDisplayId(); method @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public java.util.List<android.view.inputmethod.InputMethodInfo> getEnabledInputMethodListAsUser(@NonNull android.os.UserHandle); method @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public java.util.List<android.view.inputmethod.InputMethodSubtype> getEnabledInputMethodSubtypeListAsUser(@NonNull String, boolean, @NonNull android.os.UserHandle); method @FlaggedApi("android.view.inputmethod.imm_userhandle_hostsidetests") @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public java.util.List<android.view.inputmethod.InputMethodInfo> getEnabledInputMethodListAsUser(@NonNull android.os.UserHandle); method @FlaggedApi("android.view.inputmethod.imm_userhandle_hostsidetests") @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public java.util.List<android.view.inputmethod.InputMethodSubtype> getEnabledInputMethodSubtypeListAsUser(@NonNull String, boolean, @NonNull android.os.UserHandle); method @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public java.util.List<android.view.inputmethod.InputMethodInfo> getInputMethodListAsUser(int); method public boolean hasActiveInputConnection(@Nullable android.view.View); method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public boolean hasPendingImeVisibilityRequests(); method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public boolean isCurrentRootView(@NonNull android.view.View); method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public boolean isInputMethodPickerShown(); method @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public boolean isStylusHandwritingAvailableAsUser(@NonNull android.os.UserHandle); method @FlaggedApi("android.view.inputmethod.imm_userhandle_hostsidetests") @NonNull @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public boolean isStylusHandwritingAvailableAsUser(@NonNull android.os.UserHandle); method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public void setStylusWindowIdleTimeoutForTest(long); field public static final long CLEAR_SHOW_FORCED_FLAG_WHEN_LEAVING = 214016041L; // 0xcc1a029L } Loading
core/java/android/view/inputmethod/InputMethodManager.java +6 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import android.Manifest; import android.annotation.DisplayContext; import android.annotation.DrawableRes; import android.annotation.DurationMillisLong; import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -1512,6 +1513,7 @@ public final class InputMethodManager { * Returns {@code true} if currently selected IME supports Stylus handwriting & is enabled. * If the method returns {@code false}, {@link #startStylusHandwriting(View)} shouldn't be * called and Stylus touch should continue as normal touch input. * * @see #startStylusHandwriting(View) */ public boolean isStylusHandwritingAvailable() { Loading @@ -1535,6 +1537,7 @@ public final class InputMethodManager { @NonNull @RequiresPermission(value = Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true) @TestApi @FlaggedApi(Flags.FLAG_IMM_USERHANDLE_HOSTSIDETESTS) @SuppressLint("UserHandle") public boolean isStylusHandwritingAvailableAsUser(@NonNull UserHandle user) { final Context fallbackContext = ActivityThread.currentApplication(); Loading Loading @@ -1655,6 +1658,7 @@ public final class InputMethodManager { @NonNull @RequiresPermission(value = Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true) @TestApi @FlaggedApi(Flags.FLAG_IMM_USERHANDLE_HOSTSIDETESTS) @SuppressLint("UserHandle") public List<InputMethodInfo> getEnabledInputMethodListAsUser(@NonNull UserHandle user) { return IInputMethodManagerGlobalInvoker.getEnabledInputMethodList(user.getIdentifier()); Loading Loading @@ -1690,12 +1694,13 @@ public final class InputMethodManager { * {@link Manifest.permission#INTERACT_ACROSS_USERS_FULL} is required if this is * different from the calling process user ID. * @return {@link List} of {@link InputMethodSubtype}. * @see #getEnabledInputMethodListAsUser(int) * @see #getEnabledInputMethodListAsUser(UserHandle) * @hide */ @NonNull @RequiresPermission(value = Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true) @TestApi @FlaggedApi(Flags.FLAG_IMM_USERHANDLE_HOSTSIDETESTS) @SuppressLint("UserHandle") public List<InputMethodSubtype> getEnabledInputMethodSubtypeListAsUser( @NonNull String imeId, boolean allowsImplicitlyEnabledSubtypes, Loading
core/java/android/view/inputmethod/flags.aconfig +8 −0 Original line number Diff line number Diff line Loading @@ -15,3 +15,11 @@ flag { bug: "293898187" is_fixed_read_only: true } flag { name: "imm_userhandle_hostsidetests" namespace: "input_method" description: "Feature flag for replacing UserIdInt with UserHandle in some helper IMM functions" bug: "301713309" is_fixed_read_only: true } No newline at end of file