Loading core/api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -3977,6 +3977,7 @@ package android.view.inputmethod { public final class InputMethodManager { method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public void addVirtualStylusIdForTestSession(); method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public void finishTrackingPendingImeVisibilityRequests(); method public int getDisplayId(); 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); Loading core/java/android/view/inputmethod/IInputMethodManagerGlobalInvoker.java +14 −0 Original line number Diff line number Diff line Loading @@ -769,6 +769,20 @@ final class IInputMethodManagerGlobalInvoker { } } @AnyThread @RequiresPermission(Manifest.permission.TEST_INPUT_METHOD) static void finishTrackingPendingImeVisibilityRequests() { final var service = getImeTrackerService(); if (service == null) { return; } try { service.finishTrackingPendingImeVisibilityRequests(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } @AnyThread @Nullable private static IImeTracker getImeTrackerService() { Loading core/java/android/view/inputmethod/InputMethodManager.java +13 −0 Original line number Diff line number Diff line Loading @@ -4315,6 +4315,19 @@ public final class InputMethodManager { return IInputMethodManagerGlobalInvoker.hasPendingImeVisibilityRequests(); } /** * A test API for CTS to finish the tracking of any pending IME visibility requests. This * won't stop the actual requests, but allows resetting the state when starting up test runs. * * @hide */ @SuppressLint("UnflaggedApi") // @TestApi without associated feature. @TestApi @RequiresPermission(Manifest.permission.TEST_INPUT_METHOD) public void finishTrackingPendingImeVisibilityRequests() { IInputMethodManagerGlobalInvoker.finishTrackingPendingImeVisibilityRequests(); } /** * Show the settings for enabling subtypes of the specified input method. * Loading core/java/com/android/internal/inputmethod/IImeTracker.aidl +9 −0 Original line number Diff line number Diff line Loading @@ -86,4 +86,13 @@ interface IImeTracker { @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = " + "android.Manifest.permission.TEST_INPUT_METHOD)") boolean hasPendingImeVisibilityRequests(); /** * Finishes the tracking of any pending IME visibility requests. This won't stop the actual * requests, but allows resetting the state when starting up test runs. */ @EnforcePermission("TEST_INPUT_METHOD") @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = " + "android.Manifest.permission.TEST_INPUT_METHOD)") oneway void finishTrackingPendingImeVisibilityRequests(); } services/core/java/com/android/server/inputmethod/ImeTrackerService.java +9 −0 Original line number Diff line number Diff line Loading @@ -165,6 +165,15 @@ public final class ImeTrackerService extends IImeTracker.Stub { } } @EnforcePermission(Manifest.permission.TEST_INPUT_METHOD) @Override public void finishTrackingPendingImeVisibilityRequests() { super.finishTrackingPendingImeVisibilityRequests_enforcePermission(); synchronized (mLock) { mHistory.mLiveEntries.clear(); } } /** * A circular buffer storing the most recent few {@link ImeTracker.Token} entries information. */ Loading Loading
core/api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -3977,6 +3977,7 @@ package android.view.inputmethod { public final class InputMethodManager { method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public void addVirtualStylusIdForTestSession(); method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public void finishTrackingPendingImeVisibilityRequests(); method public int getDisplayId(); 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); Loading
core/java/android/view/inputmethod/IInputMethodManagerGlobalInvoker.java +14 −0 Original line number Diff line number Diff line Loading @@ -769,6 +769,20 @@ final class IInputMethodManagerGlobalInvoker { } } @AnyThread @RequiresPermission(Manifest.permission.TEST_INPUT_METHOD) static void finishTrackingPendingImeVisibilityRequests() { final var service = getImeTrackerService(); if (service == null) { return; } try { service.finishTrackingPendingImeVisibilityRequests(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } @AnyThread @Nullable private static IImeTracker getImeTrackerService() { Loading
core/java/android/view/inputmethod/InputMethodManager.java +13 −0 Original line number Diff line number Diff line Loading @@ -4315,6 +4315,19 @@ public final class InputMethodManager { return IInputMethodManagerGlobalInvoker.hasPendingImeVisibilityRequests(); } /** * A test API for CTS to finish the tracking of any pending IME visibility requests. This * won't stop the actual requests, but allows resetting the state when starting up test runs. * * @hide */ @SuppressLint("UnflaggedApi") // @TestApi without associated feature. @TestApi @RequiresPermission(Manifest.permission.TEST_INPUT_METHOD) public void finishTrackingPendingImeVisibilityRequests() { IInputMethodManagerGlobalInvoker.finishTrackingPendingImeVisibilityRequests(); } /** * Show the settings for enabling subtypes of the specified input method. * Loading
core/java/com/android/internal/inputmethod/IImeTracker.aidl +9 −0 Original line number Diff line number Diff line Loading @@ -86,4 +86,13 @@ interface IImeTracker { @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = " + "android.Manifest.permission.TEST_INPUT_METHOD)") boolean hasPendingImeVisibilityRequests(); /** * Finishes the tracking of any pending IME visibility requests. This won't stop the actual * requests, but allows resetting the state when starting up test runs. */ @EnforcePermission("TEST_INPUT_METHOD") @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = " + "android.Manifest.permission.TEST_INPUT_METHOD)") oneway void finishTrackingPendingImeVisibilityRequests(); }
services/core/java/com/android/server/inputmethod/ImeTrackerService.java +9 −0 Original line number Diff line number Diff line Loading @@ -165,6 +165,15 @@ public final class ImeTrackerService extends IImeTracker.Stub { } } @EnforcePermission(Manifest.permission.TEST_INPUT_METHOD) @Override public void finishTrackingPendingImeVisibilityRequests() { super.finishTrackingPendingImeVisibilityRequests_enforcePermission(); synchronized (mLock) { mHistory.mLiveEntries.clear(); } } /** * A circular buffer storing the most recent few {@link ImeTracker.Token} entries information. */ Loading