mirror of
https://github.com/M66B/FairEmail.git
synced 2025-03-15 08:29:24 +00:00
Optimization
This commit is contained in:
parent
1d50e05ca7
commit
a04a95fce6
1 changed files with 12 additions and 12 deletions
|
@ -34,6 +34,7 @@ import android.os.Build;
|
|||
import android.os.Bundle;
|
||||
import android.os.Debug;
|
||||
import android.provider.Settings;
|
||||
import android.util.Pair;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
|
@ -76,7 +77,7 @@ import io.requery.android.database.sqlite.SQLiteDatabase;
|
|||
|
||||
public class FragmentOptionsMisc extends FragmentBase implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
private boolean resumed = false;
|
||||
private List<String> languages;
|
||||
private List<Pair<String, String>> languages = new ArrayList<>();
|
||||
|
||||
private SwitchCompat swExternalSearch;
|
||||
private SwitchCompat swShortcuts;
|
||||
|
@ -136,13 +137,13 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
|||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
languages = new ArrayList<>(Arrays.asList(getResources().getAssets().getLocales()));
|
||||
Collections.sort(languages, new Comparator<String>() {
|
||||
for (String tag : getResources().getAssets().getLocales())
|
||||
languages.add(new Pair<>(tag, Locale.forLanguageTag(tag).getDisplayName()));
|
||||
|
||||
Collections.sort(languages, new Comparator<Pair<String, String>>() {
|
||||
@Override
|
||||
public int compare(String lang1, String lang2) {
|
||||
String display1 = Locale.forLanguageTag(lang1).getDisplayLanguage();
|
||||
String display2 = Locale.forLanguageTag(lang2).getDisplayLanguage();
|
||||
return display1.compareTo(display2);
|
||||
public int compare(Pair<String, String> l1, Pair<String, String> l2) {
|
||||
return l1.second.compareTo(l2.second);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -258,7 +259,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
|||
if (position == 0)
|
||||
onNothingSelected(adapterView);
|
||||
else {
|
||||
String tag = languages.get(position - 1);
|
||||
String tag = languages.get(position - 1).first;
|
||||
prefs.edit().putString("language", tag).commit(); // apply won't work here
|
||||
}
|
||||
}
|
||||
|
@ -721,10 +722,9 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
|||
List<String> display = new ArrayList<>();
|
||||
display.add(getString(R.string.title_advanced_language_system));
|
||||
for (int pos = 0; pos < languages.size(); pos++) {
|
||||
String lang = languages.get(pos);
|
||||
Locale loc = Locale.forLanguageTag(lang);
|
||||
display.add(loc.getDisplayName());
|
||||
if (lang.equals(language))
|
||||
Pair<String, String> lang = languages.get(pos);
|
||||
display.add(lang.second);
|
||||
if (lang.first.equals(language))
|
||||
selected = pos + 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue