aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/compat
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/com/android/inputmethod/compat')
-rw-r--r--java/src/com/android/inputmethod/compat/BuildCompatUtils.java7
-rw-r--r--java/src/com/android/inputmethod/compat/CompatUtils.java2
-rw-r--r--java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java10
-rw-r--r--java/src/com/android/inputmethod/compat/InputMethodSubtypeCompatUtils.java3
-rw-r--r--java/src/com/android/inputmethod/compat/LocaleSpanCompatUtils.java26
-rw-r--r--java/src/com/android/inputmethod/compat/NotificationCompatUtils.java6
-rw-r--r--java/src/com/android/inputmethod/compat/UserDictionaryCompatUtils.java43
-rw-r--r--java/src/com/android/inputmethod/compat/ViewOutlineProviderCompatUtils.java3
-rw-r--r--java/src/com/android/inputmethod/compat/ViewOutlineProviderCompatUtilsLXX.java2
9 files changed, 42 insertions, 60 deletions
diff --git a/java/src/com/android/inputmethod/compat/BuildCompatUtils.java b/java/src/com/android/inputmethod/compat/BuildCompatUtils.java
index 7d1717bd1..5d56f12ae 100644
--- a/java/src/com/android/inputmethod/compat/BuildCompatUtils.java
+++ b/java/src/com/android/inputmethod/compat/BuildCompatUtils.java
@@ -33,11 +33,4 @@ public final class BuildCompatUtils {
public static final int EFFECTIVE_SDK_INT = IS_RELEASE_BUILD
? Build.VERSION.SDK_INT
: Build.VERSION.SDK_INT + 1;
-
- /**
- * API version for L-release.
- */
- // TODO: Substitute this constant reference with Build.VERSION_CODES.L* once the *next* version
- // becomes available.
- public static final int VERSION_CODES_LXX = 21;
}
diff --git a/java/src/com/android/inputmethod/compat/CompatUtils.java b/java/src/com/android/inputmethod/compat/CompatUtils.java
index 6aa2736c1..5db80190c 100644
--- a/java/src/com/android/inputmethod/compat/CompatUtils.java
+++ b/java/src/com/android/inputmethod/compat/CompatUtils.java
@@ -144,7 +144,7 @@ public final class CompatUtils {
public <T> ToObjectMethodWrapper<T> getMethod(final String name,
final T defaultValue, final Class<?>... parameterTypes) {
- return new ToObjectMethodWrapper<T>(CompatUtils.getMethod(mClass, name, parameterTypes),
+ return new ToObjectMethodWrapper<>(CompatUtils.getMethod(mClass, name, parameterTypes),
defaultValue);
}
diff --git a/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java b/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java
index f4f54b624..01a9e6712 100644
--- a/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java
+++ b/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java
@@ -46,14 +46,14 @@ public class CursorAnchorInfoCompatWrapper {
*/
public static final int FLAG_IS_RTL = 0x04;
- private CursorAnchorInfoCompatWrapper() {
+ CursorAnchorInfoCompatWrapper() {
// This class is not publicly instantiable.
}
- @TargetApi(BuildCompatUtils.VERSION_CODES_LXX)
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Nullable
public static CursorAnchorInfoCompatWrapper wrap(@Nullable final CursorAnchorInfo instance) {
- if (Build.VERSION.SDK_INT < BuildCompatUtils.VERSION_CODES_LXX) {
+ if (BuildCompatUtils.EFFECTIVE_SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
return null;
}
if (instance == null) {
@@ -82,10 +82,12 @@ public class CursorAnchorInfoCompatWrapper {
throw new UnsupportedOperationException("not supported.");
}
+ @SuppressWarnings("unused")
public RectF getCharacterBounds(final int index) {
throw new UnsupportedOperationException("not supported.");
}
+ @SuppressWarnings("unused")
public int getCharacterBoundsFlags(final int index) {
throw new UnsupportedOperationException("not supported.");
}
@@ -110,7 +112,7 @@ public class CursorAnchorInfoCompatWrapper {
throw new UnsupportedOperationException("not supported.");
}
- @TargetApi(BuildCompatUtils.VERSION_CODES_LXX)
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
private static final class RealWrapper extends CursorAnchorInfoCompatWrapper {
@Nonnull
diff --git a/java/src/com/android/inputmethod/compat/InputMethodSubtypeCompatUtils.java b/java/src/com/android/inputmethod/compat/InputMethodSubtypeCompatUtils.java
index b9a536721..3a27c5739 100644
--- a/java/src/com/android/inputmethod/compat/InputMethodSubtypeCompatUtils.java
+++ b/java/src/com/android/inputmethod/compat/InputMethodSubtypeCompatUtils.java
@@ -20,8 +20,8 @@ import android.os.Build;
import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.annotations.UsedForTesting;
-import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.RichInputMethodSubtype;
+import com.android.inputmethod.latin.common.Constants;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
@@ -52,6 +52,7 @@ public final class InputMethodSubtypeCompatUtils {
// This utility class is not publicly instantiable.
}
+ @SuppressWarnings("deprecation")
public static InputMethodSubtype newInputMethodSubtype(int nameId, int iconId, String locale,
String mode, String extraValue, boolean isAuxiliary,
boolean overridesImplicitlyEnabledSubtype, int id) {
diff --git a/java/src/com/android/inputmethod/compat/LocaleSpanCompatUtils.java b/java/src/com/android/inputmethod/compat/LocaleSpanCompatUtils.java
index f411f181b..58e5a36b6 100644
--- a/java/src/com/android/inputmethod/compat/LocaleSpanCompatUtils.java
+++ b/java/src/com/android/inputmethod/compat/LocaleSpanCompatUtils.java
@@ -17,6 +17,7 @@
package com.android.inputmethod.compat;
import android.text.Spannable;
+import android.text.Spanned;
import android.text.style.LocaleSpan;
import android.util.Log;
@@ -127,13 +128,13 @@ public final class LocaleSpanCompatUtils {
final int spanFlag = spannable.getSpanFlags(existingLocaleSpan);
if (spanStart < newStart) {
newStart = spanStart;
- isStartExclusive = ((spanFlag & Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) ==
- Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ isStartExclusive = ((spanFlag & Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) ==
+ Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
if (newEnd < spanEnd) {
newEnd = spanEnd;
- isEndExclusive = ((spanFlag & Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) ==
- Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ isEndExclusive = ((spanFlag & Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) ==
+ Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
existingLocaleSpansToBeMerged.add(existingLocaleSpan);
}
@@ -201,24 +202,17 @@ public final class LocaleSpanCompatUtils {
private static int getSpanFlag(final int originalFlag,
final boolean isStartExclusive, final boolean isEndExclusive) {
- return (originalFlag & ~Spannable.SPAN_POINT_MARK_MASK) |
+ return (originalFlag & ~Spanned.SPAN_POINT_MARK_MASK) |
getSpanPointMarkFlag(isStartExclusive, isEndExclusive);
}
private static int getSpanPointMarkFlag(final boolean isStartExclusive,
final boolean isEndExclusive) {
if (isStartExclusive) {
- if (isEndExclusive) {
- return Spannable.SPAN_EXCLUSIVE_EXCLUSIVE;
- } else {
- return Spannable.SPAN_EXCLUSIVE_INCLUSIVE;
- }
- } else {
- if (isEndExclusive) {
- return Spannable.SPAN_INCLUSIVE_EXCLUSIVE;
- } else {
- return Spannable.SPAN_INCLUSIVE_INCLUSIVE;
- }
+ return isEndExclusive ? Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
+ : Spanned.SPAN_EXCLUSIVE_INCLUSIVE;
}
+ return isEndExclusive ? Spanned.SPAN_INCLUSIVE_EXCLUSIVE
+ : Spanned.SPAN_INCLUSIVE_INCLUSIVE;
}
}
diff --git a/java/src/com/android/inputmethod/compat/NotificationCompatUtils.java b/java/src/com/android/inputmethod/compat/NotificationCompatUtils.java
index eb180071e..70ab972c5 100644
--- a/java/src/com/android/inputmethod/compat/NotificationCompatUtils.java
+++ b/java/src/com/android/inputmethod/compat/NotificationCompatUtils.java
@@ -71,13 +71,13 @@ public class NotificationCompatUtils {
CompatUtils.invoke(builder, null, METHOD_setPriority, PRIORITY_LOW);
}
+ @SuppressWarnings("deprecation")
public static Notification build(final Notification.Builder builder) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
// #build was added in API level 16, JELLY_BEAN
return (Notification) CompatUtils.invoke(builder, null, METHOD_build);
- } else {
- // #getNotification was deprecated in API level 16, JELLY_BEAN
- return builder.getNotification();
}
+ // #getNotification was deprecated in API level 16, JELLY_BEAN
+ return builder.getNotification();
}
}
diff --git a/java/src/com/android/inputmethod/compat/UserDictionaryCompatUtils.java b/java/src/com/android/inputmethod/compat/UserDictionaryCompatUtils.java
index 1fb597ba6..b78c357ab 100644
--- a/java/src/com/android/inputmethod/compat/UserDictionaryCompatUtils.java
+++ b/java/src/com/android/inputmethod/compat/UserDictionaryCompatUtils.java
@@ -16,42 +16,33 @@
package com.android.inputmethod.compat;
+import android.annotation.TargetApi;
import android.content.Context;
-import android.provider.UserDictionary.Words;
+import android.os.Build;
+import android.provider.UserDictionary;
-import java.lang.reflect.Method;
import java.util.Locale;
public final class UserDictionaryCompatUtils {
- // UserDictionary.Words#addWord(Context, String, int, String, Locale) was introduced
- // in API level 16 (Build.VERSION_CODES.JELLY_BEAN).
- private static final Method METHOD_addWord = CompatUtils.getMethod(Words.class, "addWord",
- Context.class, String.class, int.class, String.class, Locale.class);
-
@SuppressWarnings("deprecation")
public static void addWord(final Context context, final String word,
final int freq, final String shortcut, final Locale locale) {
- if (hasNewerAddWord()) {
- CompatUtils.invoke(Words.class, null, METHOD_addWord, context, word, freq, shortcut,
- locale);
- } else {
- // Fall back to the pre-JellyBean method.
- final int localeType;
- if (null == locale) {
- localeType = Words.LOCALE_TYPE_ALL;
- } else {
- final Locale currentLocale = context.getResources().getConfiguration().locale;
- if (locale.equals(currentLocale)) {
- localeType = Words.LOCALE_TYPE_CURRENT;
- } else {
- localeType = Words.LOCALE_TYPE_ALL;
- }
- }
- Words.addWord(context, word, freq, localeType);
+ if (BuildCompatUtils.EFFECTIVE_SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+ addWordWithShortcut(context, word, freq, shortcut, locale);
+ return;
}
+ // Fall back to the pre-JellyBean method.
+ final Locale currentLocale = context.getResources().getConfiguration().locale;
+ final int localeType = currentLocale.equals(locale)
+ ? UserDictionary.Words.LOCALE_TYPE_CURRENT : UserDictionary.Words.LOCALE_TYPE_ALL;
+ UserDictionary.Words.addWord(context, word, freq, localeType);
}
- public static final boolean hasNewerAddWord() {
- return null != METHOD_addWord;
+ // {@link UserDictionary.Words#addWord(Context,String,int,String,Locale)} was introduced
+ // in API level 16 (Build.VERSION_CODES.JELLY_BEAN).
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
+ private static void addWordWithShortcut(final Context context, final String word,
+ final int freq, final String shortcut, final Locale locale) {
+ UserDictionary.Words.addWord(context, word, freq, shortcut, locale);
}
}
diff --git a/java/src/com/android/inputmethod/compat/ViewOutlineProviderCompatUtils.java b/java/src/com/android/inputmethod/compat/ViewOutlineProviderCompatUtils.java
index 52b8b74e8..0c8e5b77d 100644
--- a/java/src/com/android/inputmethod/compat/ViewOutlineProviderCompatUtils.java
+++ b/java/src/com/android/inputmethod/compat/ViewOutlineProviderCompatUtils.java
@@ -17,6 +17,7 @@
package com.android.inputmethod.compat;
import android.inputmethodservice.InputMethodService;
+import android.os.Build;
import android.view.View;
public class ViewOutlineProviderCompatUtils {
@@ -34,7 +35,7 @@ public class ViewOutlineProviderCompatUtils {
};
public static InsetsUpdater setInsetsOutlineProvider(final View view) {
- if (BuildCompatUtils.EFFECTIVE_SDK_INT < BuildCompatUtils.VERSION_CODES_LXX) {
+ if (BuildCompatUtils.EFFECTIVE_SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
return EMPTY_INSETS_UPDATER;
}
return ViewOutlineProviderCompatUtilsLXX.setInsetsOutlineProvider(view);
diff --git a/java/src/com/android/inputmethod/compat/ViewOutlineProviderCompatUtilsLXX.java b/java/src/com/android/inputmethod/compat/ViewOutlineProviderCompatUtilsLXX.java
index f9917ac11..5bbb5ce99 100644
--- a/java/src/com/android/inputmethod/compat/ViewOutlineProviderCompatUtilsLXX.java
+++ b/java/src/com/android/inputmethod/compat/ViewOutlineProviderCompatUtilsLXX.java
@@ -25,7 +25,7 @@ import android.view.ViewOutlineProvider;
import com.android.inputmethod.compat.ViewOutlineProviderCompatUtils.InsetsUpdater;
-@TargetApi(Build.VERSION_CODES.L)
+@TargetApi(Build.VERSION_CODES.LOLLIPOP)
class ViewOutlineProviderCompatUtilsLXX {
private ViewOutlineProviderCompatUtilsLXX() {
// This utility class is not publicly instantiable.