diff options
author | Tianjie Xu <xunchang@google.com> | 2017-01-14 00:13:38 +0100 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-01-14 00:13:38 +0100 |
commit | 86a820cb42b296bfcb50c678b9b057d6560861c3 (patch) | |
tree | fb6890e2a56e5fac3af1dbf14bcedc17e92c9de9 /tools | |
parent | Merge "Rename language+country resources to just language" (diff) | |
parent | Merge "Update background text images in recovery" am: f0af02fea6 am: 19e4f627d8 (diff) | |
download | android_bootable_recovery-86a820cb42b296bfcb50c678b9b057d6560861c3.tar android_bootable_recovery-86a820cb42b296bfcb50c678b9b057d6560861c3.tar.gz android_bootable_recovery-86a820cb42b296bfcb50c678b9b057d6560861c3.tar.bz2 android_bootable_recovery-86a820cb42b296bfcb50c678b9b057d6560861c3.tar.lz android_bootable_recovery-86a820cb42b296bfcb50c678b9b057d6560861c3.tar.xz android_bootable_recovery-86a820cb42b296bfcb50c678b9b057d6560861c3.tar.zst android_bootable_recovery-86a820cb42b296bfcb50c678b9b057d6560861c3.zip |
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 ac94bde1c..30d45f6ae 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; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.Comparator; import java.util.HashMap; import java.util.Locale; @@ -148,11 +149,28 @@ public class Main extends Activity { mText = (TextView) findViewById(R.id.text); String[] localeNames = getAssets().getLocales(); - Arrays.sort(localeNames); + Arrays.sort(localeNames, new Comparator<String>() { + // Override the string comparator so that en is sorted behind en_US. + // As a result, en_US will be matched first in recovery. + @Override + public int compare(String s1, String s2) { + if (s1.equals(s2)) { + return 0; + } else if (s1.startsWith(s2)) { + return -1; + } else if (s2.startsWith(s1)) { + return 1; + } + return s1.compareTo(s2); + } + }); + ArrayList<Locale> locales = new ArrayList<Locale>(); for (String localeName : localeNames) { Log.i(TAG, "locale = " + localeName); - locales.add(Locale.forLanguageTag(localeName)); + if (!localeName.isEmpty()) { + locales.add(Locale.forLanguageTag(localeName)); + } } final Runnable seq = buildSequence(locales.toArray(new Locale[0])); |