diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/recovery_l10n/src/com/android/recovery_l10n/Main.java | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/tools/recovery_l10n/src/com/android/recovery_l10n/Main.java b/tools/recovery_l10n/src/com/android/recovery_l10n/Main.java index ac94bde1..30d45f6a 100644 --- a/tools/recovery_l10n/src/com/android/recovery_l10n/Main.java +++ b/tools/recovery_l10n/src/com/android/recovery_l10n/Main.java | |||
@@ -38,6 +38,7 @@ import java.io.FileOutputStream; | |||
38 | import java.io.IOException; | 38 | import java.io.IOException; |
39 | import java.util.ArrayList; | 39 | import java.util.ArrayList; |
40 | import java.util.Arrays; | 40 | import java.util.Arrays; |
41 | import java.util.Comparator; | ||
41 | import java.util.HashMap; | 42 | import java.util.HashMap; |
42 | import java.util.Locale; | 43 | import java.util.Locale; |
43 | 44 | ||
@@ -148,11 +149,28 @@ public class Main extends Activity { | |||
148 | mText = (TextView) findViewById(R.id.text); | 149 | mText = (TextView) findViewById(R.id.text); |
149 | 150 | ||
150 | String[] localeNames = getAssets().getLocales(); | 151 | String[] localeNames = getAssets().getLocales(); |
151 | Arrays.sort(localeNames); | 152 | Arrays.sort(localeNames, new Comparator<String>() { |
153 | // Override the string comparator so that en is sorted behind en_US. | ||
154 | // As a result, en_US will be matched first in recovery. | ||
155 | @Override | ||
156 | public int compare(String s1, String s2) { | ||
157 | if (s1.equals(s2)) { | ||
158 | return 0; | ||
159 | } else if (s1.startsWith(s2)) { | ||
160 | return -1; | ||
161 | } else if (s2.startsWith(s1)) { | ||
162 | return 1; | ||
163 | } | ||
164 | return s1.compareTo(s2); | ||
165 | } | ||
166 | }); | ||
167 | |||
152 | ArrayList<Locale> locales = new ArrayList<Locale>(); | 168 | ArrayList<Locale> locales = new ArrayList<Locale>(); |
153 | for (String localeName : localeNames) { | 169 | for (String localeName : localeNames) { |
154 | Log.i(TAG, "locale = " + localeName); | 170 | Log.i(TAG, "locale = " + localeName); |
155 | locales.add(Locale.forLanguageTag(localeName)); | 171 | if (!localeName.isEmpty()) { |
172 | locales.add(Locale.forLanguageTag(localeName)); | ||
173 | } | ||
156 | } | 174 | } |
157 | 175 | ||
158 | final Runnable seq = buildSequence(locales.toArray(new Locale[0])); | 176 | final Runnable seq = buildSequence(locales.toArray(new Locale[0])); |