From db240e2687181fd89b91e865b160f1861c4d4ab5 Mon Sep 17 00:00:00 2001 From: Yohei Yukawa Date: Fri, 30 Jul 2021 10:12:27 -0700 Subject: [PATCH] Annotate TextServicesManager with @UserHandleAware This is a follow up CL to my CL [1], enabled TextServicesManager to determine the target user ID by Context#getUser(). This CL aims to clarify what methods in TextServicesManager follow this semantics. Note that @UserHandleAware is still a kind of hint for readers. There should be no change at the runtime. [1]: I31dda3ae8795190d44b0622b8335c34ddbc5dd48 9f141ee80230f266caa596a60e6d1278f072ac7c Bug: 192412909 Test: presubmit Change-Id: I00bd99ef9d83a13bd60a5aefd22094725b67e271 --- .../android/view/textservice/TextServicesManager.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/java/android/view/textservice/TextServicesManager.java b/core/java/android/view/textservice/TextServicesManager.java index ae927cf60565a..e31eabb083e51 100644 --- a/core/java/android/view/textservice/TextServicesManager.java +++ b/core/java/android/view/textservice/TextServicesManager.java @@ -20,6 +20,7 @@ import android.annotation.CallbackExecutor; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemService; +import android.annotation.UserHandleAware; import android.annotation.UserIdInt; import android.compat.annotation.UnsupportedAppUsage; import android.content.Context; @@ -114,6 +115,7 @@ public final class TextServicesManager { * @throws ServiceNotFoundException When {@link TextServicesManager} is not available. * @hide */ + @UserHandleAware @NonNull public static TextServicesManager createInstance(@NonNull Context context) throws ServiceNotFoundException { @@ -178,6 +180,7 @@ public final class TextServicesManager { * languages in settings will be returned. * @return a spell checker session of the spell checker */ + @UserHandleAware @Nullable public SpellCheckerSession newSpellCheckerSession(@Nullable Bundle bundle, @Nullable Locale locale, @@ -208,6 +211,7 @@ public final class TextServicesManager { * @param listener a spell checker session lister for getting results from the spell checker. * @return The spell checker session of the spell checker. */ + @UserHandleAware @Nullable public SpellCheckerSession newSpellCheckerSession( @NonNull SpellCheckerSessionParams params, @@ -283,6 +287,7 @@ public final class TextServicesManager { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553, publicAlternatives = "Use {@link #getEnabledSpellCheckerInfos()} instead.") + @UserHandleAware public SpellCheckerInfo[] getEnabledSpellCheckers() { try { final SpellCheckerInfo[] retval = mService.getEnabledSpellCheckers(mUserId); @@ -300,6 +305,7 @@ public final class TextServicesManager { * * @return The list of currently enabled spell checkers. */ + @UserHandleAware @NonNull public List getEnabledSpellCheckerInfos() { final SpellCheckerInfo[] enabledSpellCheckers = getEnabledSpellCheckers(); @@ -312,6 +318,7 @@ public final class TextServicesManager { * * @return The current active spell checker info. */ + @UserHandleAware @Nullable public SpellCheckerInfo getCurrentSpellCheckerInfo() { try { @@ -328,6 +335,7 @@ public final class TextServicesManager { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, publicAlternatives = "Use {@link #getCurrentSpellCheckerInfo()} instead.") + @UserHandleAware @Nullable public SpellCheckerInfo getCurrentSpellChecker() { return getCurrentSpellCheckerInfo(); @@ -343,6 +351,7 @@ public final class TextServicesManager { * @hide */ @UnsupportedAppUsage + @UserHandleAware @Nullable public SpellCheckerSubtype getCurrentSpellCheckerSubtype( boolean allowImplicitlySelectedSubtype) { @@ -358,6 +367,7 @@ public final class TextServicesManager { * * @return {@code true} if spell checker is enabled, {@code false} otherwise. */ + @UserHandleAware public boolean isSpellCheckerEnabled() { try { return mService.isSpellCheckerEnabled(mUserId); @@ -366,6 +376,7 @@ public final class TextServicesManager { } } + @UserHandleAware void finishSpellCheckerService(ISpellCheckerSessionListener listener) { try { mService.finishSpellCheckerService(mUserId, listener);