Follow API removal of LocaleList#getPrimary().

am: 706fce9bb0

* commit '706fce9bb0e044f281bf12742c406964b18e9190':
  Follow API removal of LocaleList#getPrimary().
This commit is contained in:
Yohei Yukawa 2016-02-09 19:49:13 +00:00 committed by android-build-merger
commit 436b68dd73
2 changed files with 14 additions and 5 deletions

View File

@ -90,6 +90,9 @@ public final class EditorInfoCompatUtils {
if (localeList == null) {
return null;
}
return LocaleListCompatUtils.getPrimary(localeList);
if (LocaleListCompatUtils.isEmpty(localeList)) {
return null;
}
return LocaleListCompatUtils.get(localeList, 0);
}
}

View File

@ -21,14 +21,20 @@ import java.util.Locale;
public final class LocaleListCompatUtils {
private static final Class CLASS_LocaleList = CompatUtils.getClass("android.util.LocaleList");
private static final Method METHOD_getPrimary =
CompatUtils.getMethod(CLASS_LocaleList, "getPrimary");
private static final Method METHOD_get =
CompatUtils.getMethod(CLASS_LocaleList, "get", int.class);
private static final Method METHOD_isEmpty =
CompatUtils.getMethod(CLASS_LocaleList, "isEmpty");
private LocaleListCompatUtils() {
// This utility class is not publicly instantiable.
}
public static Locale getPrimary(final Object localeList) {
return (Locale) CompatUtils.invoke(localeList, null, METHOD_getPrimary);
public static boolean isEmpty(final Object localeList) {
return (Boolean) CompatUtils.invoke(localeList, Boolean.FALSE, METHOD_isEmpty);
}
public static Locale get(final Object localeList, final int index) {
return (Locale) CompatUtils.invoke(localeList, null, METHOD_get, index);
}
}