Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f9fa524f authored by Kohsuke Yatoh's avatar Kohsuke Yatoh
Browse files

Update TextServicesManager API.

- Rename getCurrentSpellChecker to getCurrentSpellCheckerInfo.
- Rename getEnabledSpellCheckersList to getEnabledSpellCheckerInfos.
- Remove getCurrentSpellCheckerSubtype.

This CL is effectively rewriting I2bac96ddafe5e4ac583fc16bf155d67e3d45fc4f
to introduce the following two methods as official APIs.
- getCurrentSpellCheckerInfo()
- getEnabledSpellCheckerInfos()
This CL adds back @UnsupportedAppUsage that were removed in the commit
above.

Bug: 179804789
Test: atest CtsInputMethodTestCases:SpellCheckerTest
Change-Id: Ibf5fbf5fe6f58f999c4af40ae937d68e71def766
parent e3ff87dd
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -52048,9 +52048,8 @@ package android.view.textservice {
  }
  public final class TextServicesManager {
    method @Nullable public android.view.textservice.SpellCheckerInfo getCurrentSpellChecker();
    method @Nullable public android.view.textservice.SpellCheckerSubtype getCurrentSpellCheckerSubtype(boolean);
    method @Nullable public java.util.List<android.view.textservice.SpellCheckerInfo> getEnabledSpellCheckersList();
    method @Nullable public android.view.textservice.SpellCheckerInfo getCurrentSpellCheckerInfo();
    method @Nullable public java.util.List<android.view.textservice.SpellCheckerInfo> getEnabledSpellCheckerInfos();
    method public boolean isSpellCheckerEnabled();
    method @Nullable public android.view.textservice.SpellCheckerSession newSpellCheckerSession(@Nullable android.os.Bundle, @Nullable java.util.Locale, @NonNull android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener, boolean);
    method @Nullable public android.view.textservice.SpellCheckerSession newSpellCheckerSession(@Nullable android.os.Bundle, @Nullable java.util.Locale, @NonNull android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener, boolean, int);
+19 −3
Original line number Diff line number Diff line
@@ -257,9 +257,11 @@ public final class TextServicesManager {
    }

    /**
     * Deprecated. Use {@link #getEnabledSpellCheckerInfos()} instead.
     * @hide
     */
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553,
            publicAlternatives = "Use {@link #getEnabledSpellCheckerInfos()} instead.")
    public SpellCheckerInfo[] getEnabledSpellCheckers() {
        try {
            final SpellCheckerInfo[] retval = mService.getEnabledSpellCheckers(mUserId);
@@ -279,7 +281,7 @@ public final class TextServicesManager {
     */
    @Nullable
    @SuppressLint("NullableCollection")
    public List<SpellCheckerInfo> getEnabledSpellCheckersList() {
    public List<SpellCheckerInfo> getEnabledSpellCheckerInfos() {
        final SpellCheckerInfo[] enabledSpellCheckers = getEnabledSpellCheckers();
        return enabledSpellCheckers != null ? Arrays.asList(enabledSpellCheckers) : null;
    }
@@ -290,7 +292,7 @@ public final class TextServicesManager {
     * @return The current active spell checker info.
     */
    @Nullable
    public SpellCheckerInfo getCurrentSpellChecker() {
    public SpellCheckerInfo getCurrentSpellCheckerInfo() {
        try {
            // Passing null as a locale for ICS
            return mService.getCurrentSpellChecker(mUserId, null);
@@ -299,13 +301,27 @@ public final class TextServicesManager {
        }
    }

    /**
     * Deprecated. Use {@link #getCurrentSpellCheckerInfo()} instead.
     * @hide
     */
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R,
            publicAlternatives = "Use {@link #getCurrentSpellCheckerInfo()} instead.")
    @Nullable
    public SpellCheckerInfo getCurrentSpellChecker() {
        return getCurrentSpellCheckerInfo();
    }

    /**
     * Retrieve the selected subtype of the selected spell checker, or null if there is none.
     *
     * @param allowImplicitlySelectedSubtype {@code true} to return the default language matching
     * system locale if there's no subtype selected explicitly, otherwise, returns null.
     * @return The meta information of the selected subtype of the selected spell checker.
     *
     * @hide
     */
    @UnsupportedAppUsage
    @Nullable
    public SpellCheckerSubtype getCurrentSpellCheckerSubtype(
            boolean allowImplicitlySelectedSubtype) {