Correcting sort order of languages for non en-us locales

Test: Manually tested
Fixes: b/78125395
Change-Id: I1b370d4ae4995cc7d9f05409be97d4ecf9104241
This commit is contained in:
Josh Imbriani
2019-06-25 08:44:21 -07:00
committed by Joshua Imbriani
parent 8e94a0fd3f
commit 7d6263a38d

View File

@@ -49,6 +49,7 @@ import com.android.settings.widget.SeekBarPreference;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.ActionButtonsPreference;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -509,8 +510,12 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment
}
}
// Sort it
Collections.sort(entryPairs, (lhs, rhs) -> lhs.first.compareToIgnoreCase(rhs.first));
// Get the primary locale and create a Collator to sort the strings
Locale userLocale = getResources().getConfiguration().getLocales().get(0);
Collator collator = Collator.getInstance(userLocale);
// Sort the list
Collections.sort(entryPairs, (lhs, rhs) -> collator.compare(lhs.first, rhs.first));
// Get two arrays out of one of pairs
mSelectedLocaleIndex = 0; // Will point to the R.string.tts_lang_use_system value