Skip to content
This repository was archived by the owner on May 4, 2023. It is now read-only.

Commit d70dcda

Browse files
committed
Add rest languages to language selector
1 parent 0f6264b commit d70dcda

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

app/src/main/java/com/fox2code/mmm/compat/CompatActivity.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ public boolean onBackPressed(CompatActivity compatActivity) {
7070
private CompatActivity.OnBackPressedCallback onBackPressedCallback;
7171
private MenuItem.OnMenuItemClickListener menuClickListener;
7272
private CharSequence menuContentDescription;
73-
private SharedPreferences mSharedPreferences;
7473
@StyleRes
7574
private int setThemeDynamic = 0;
7675
private boolean onCreateCalledOnce = false;
@@ -551,8 +550,8 @@ public static CompatActivity getCompatActivity(Context context) {
551550

552551
@Override
553552
protected void attachBaseContext(Context newBase) {
554-
mSharedPreferences= PreferenceManager.getDefaultSharedPreferences(newBase);
555-
Locale locale = new Locale(mSharedPreferences.getString("user_preferred_language", "en"));
553+
SharedPreferences mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(newBase);
554+
Locale locale = new Locale(mSharedPreferences.getString("user_preferred_country", "en"));
556555
Context context = CompatWrapper.setLocale(newBase, locale);
557556
super.attachBaseContext(context);
558557
}

app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,19 +99,34 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
9999
});
100100

101101
// This is the locale that you wanna your app to launch with.
102-
Locale firstLaunchLocale = new Locale("en");
102+
String firstLaunchLocale = "en";
103103

104-
HashSet<Locale> supportedLocales = new HashSet<>();
105-
supportedLocales.add(Locale.US);
106-
supportedLocales.add(Locale.CHINA);
107-
supportedLocales.add(Locale.GERMAN);
104+
// Warning! Locales that are't exist will crash the app
105+
HashSet<String> supportedLocales = new HashSet<>();
106+
supportedLocales.add("cs");
107+
supportedLocales.add("de");
108+
supportedLocales.add("es-rMX");
109+
supportedLocales.add("et");
110+
supportedLocales.add("fr");
111+
supportedLocales.add("id");
112+
supportedLocales.add("ja");
113+
supportedLocales.add("nb-rNO");
114+
supportedLocales.add("pl");
115+
supportedLocales.add("pt-rBR");
116+
supportedLocales.add("ro");
117+
supportedLocales.add("ru");
118+
supportedLocales.add("sk");
119+
supportedLocales.add("tr");
120+
supportedLocales.add("vi");
121+
supportedLocales.add("zh-rCH");
122+
supportedLocales.add("zh-rTW");
108123
supportedLocales.add(firstLaunchLocale);
109124

110125
Preference languageSelector = findPreference("pref_language_selector");
111126
languageSelector.setOnPreferenceClickListener(preference -> {
112-
LanguageSwitcher ls = new LanguageSwitcher(getActivity(), firstLaunchLocale);
127+
LanguageSwitcher ls = new LanguageSwitcher(getActivity(), new Locale(firstLaunchLocale));
113128
ls.showChangeLanguageDialog(getActivity());
114-
ls.setSupportedLocales(supportedLocales);
129+
ls.setSupportedStringLocales(supportedLocales);
115130
return true;
116131
});
117132

0 commit comments

Comments
 (0)