OSDN Git Service

Add an internal API to get all asset locales.
authorNarayan Kamath <narayan@google.com>
Mon, 14 Jul 2014 15:28:24 +0000 (16:28 +0100)
committerNarayan Kamath <narayan@google.com>
Wed, 23 Jul 2014 10:17:30 +0000 (11:17 +0100)
This will allow us to not copy paste this code verbatim into
bundled apps.

bug: 10090157

(cherry picked from commit 9e6d9d4c812d01ac07180c5d6ab64c36fb9b2aa7)

Change-Id: I34690a2b6dad51f1592f37d3c2a8c81345632c2f

core/java/com/android/internal/app/LocalePicker.java

index a866ca7..229df8f 100644 (file)
@@ -36,7 +36,6 @@ import android.widget.ListView;
 import android.widget.TextView;
 
 import java.text.Collator;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
@@ -106,22 +105,21 @@ public class LocalePicker extends ListFragment {
         return constructAdapter(context, layoutId, fieldId, false /* disable pseudolocales */);
     }
 
-    public static ArrayAdapter<LocaleInfo> constructAdapter(Context context,
-            final int layoutId, final int fieldId, final boolean isInDeveloperMode) {
+    public static List<LocaleInfo> getAllAssetLocales(Context context, boolean isInDeveloperMode) {
         final Resources resources = context.getResources();
 
-        String[] locales = Resources.getSystem().getAssets().getLocales();
+        final String[] locales = Resources.getSystem().getAssets().getLocales();
         List<String> localeList = new ArrayList<String>(locales.length);
         Collections.addAll(localeList, locales);
         if (isInDeveloperMode) {
             if (!localeList.contains("zz_ZZ")) {
                 localeList.add("zz_ZZ");
             }
-        /** - TODO: Enable when zz_ZY Pseudolocale is complete
-         *  if (!localeList.contains("zz_ZY")) {
-         *      localeList.add("zz_ZY");
-          }
-         */
+            /** - TODO: Enable when zz_ZY Pseudolocale is complete
+             *  if (!localeList.contains("zz_ZY")) {
+             *      localeList.add("zz_ZY");
+             * }
+             */
         }
 
         Collections.sort(localeList);
@@ -179,6 +177,13 @@ public class LocalePicker extends ListFragment {
         }
 
         Collections.sort(localeInfos);
+        return localeInfos;
+    }
+
+    public static ArrayAdapter<LocaleInfo> constructAdapter(Context context,
+            final int layoutId, final int fieldId, final boolean isInDeveloperMode) {
+        final List<LocaleInfo> localeInfos = getAllAssetLocales(context, isInDeveloperMode);
+
         final LayoutInflater inflater =
                 (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
         return new ArrayAdapter<LocaleInfo>(context, layoutId, fieldId, localeInfos) {