diff --git a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java index 9b8c580d8..39bdfe0a5 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java @@ -227,11 +227,25 @@ public class PojavLoginActivity extends BaseActivity langAdapter.setDropDownViewResource(android.R.layout.simple_list_item_single_choice); + int selectedLang = 0; + for (int i = 0; i < langAdapter.getCount(); i++) { + if (Locale.getDefault().getDisplayLanguage().equals(langAdapter.getItem(i).mLocale.getDisplayLanguage())) { + selectedLang = i; + break; + } + } + spinnerChgLang.setAdapter(langAdapter); + spinnerChgLang.setSelection(selectedLang); spinnerChgLang.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){ - + private boolean isInitCalled; @Override public void onItemSelected(AdapterView adapter, View view, int position, long id) { + if (!isInitCalled) { + isInitCalled = true; + return; + } + Locale locale; if (position == 0) { locale = Locale.getDefault(); diff --git a/app/src/main/java/net/kdt/pojavlaunch/utils/LocaleUtils.java b/app/src/main/java/net/kdt/pojavlaunch/utils/LocaleUtils.java index c14c5e0b1..302b366a8 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/utils/LocaleUtils.java +++ b/app/src/main/java/net/kdt/pojavlaunch/utils/LocaleUtils.java @@ -19,6 +19,10 @@ public class LocaleUtils { LauncherPreferences.loadPreferences(); } + if (LauncherPreferences.PREF_LANGUAGE.equals("default")) { + return context; + } + Locale locale = new Locale(LauncherPreferences.PREF_LANGUAGE); Locale.setDefault(locale);