From da1e7e569fa91efed6d07de0b0c683f54c349ad8 Mon Sep 17 00:00:00 2001 From: Kohsuke Yatoh Date: Wed, 17 Mar 2021 16:56:52 -0700 Subject: [PATCH] Return an empty list instead of null. TextServicesManager#getEnabledSpellCheckerInfos() was introduced in commit 4c7423735e60fdf521678becb1b382c4625aed4a as #getEnabledSpellCheckersList(). Then, the following commit added SuppressLint("NullableCollections"): commit d7f33cd6486e8df59fe71f0b4775ebb525637553 As this API has been introduced recently in Android S timeframe, I think it's better to fix the API behavior before it's finalized. Bug: 180625329 Test: m checkapi Change-Id: I33d3c86a0c19c0082299e383e50d3860b072e79d --- core/api/current.txt | 2 +- .../android/view/textservice/TextServicesManager.java | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt index 9006212fc4731..9123a2222c032 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -52287,7 +52287,7 @@ package android.view.textservice { public final class TextServicesManager { method @Nullable public android.view.textservice.SpellCheckerInfo getCurrentSpellCheckerInfo(); - method @Nullable public java.util.List getEnabledSpellCheckerInfos(); + method @NonNull public java.util.List 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); diff --git a/core/java/android/view/textservice/TextServicesManager.java b/core/java/android/view/textservice/TextServicesManager.java index 6fb01a309402d..4f6fa272e1030 100644 --- a/core/java/android/view/textservice/TextServicesManager.java +++ b/core/java/android/view/textservice/TextServicesManager.java @@ -37,6 +37,7 @@ import com.android.internal.textservice.ISpellCheckerSessionListener; import com.android.internal.textservice.ITextServicesManager; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Locale; @@ -288,15 +289,15 @@ public final class TextServicesManager { } /** - * Retrieve the list of currently enabled spell checkers, or null if there is none. + * Retrieve the list of currently enabled spell checkers. * * @return The list of currently enabled spell checkers. */ - @Nullable - @SuppressLint("NullableCollection") + @NonNull public List getEnabledSpellCheckerInfos() { final SpellCheckerInfo[] enabledSpellCheckers = getEnabledSpellCheckers(); - return enabledSpellCheckers != null ? Arrays.asList(enabledSpellCheckers) : null; + return enabledSpellCheckers != null + ? Arrays.asList(enabledSpellCheckers) : Collections.emptyList(); } /**