From 292596becb2f3c8c21866a526a4088244da7f4ed Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 14 Mar 2021 09:24:28 +0100 Subject: [PATCH] Confirm changing language --- .../faircode/email/FragmentOptionsMisc.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java index 36855508fd..af2bfabcdf 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java @@ -350,7 +350,30 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc onNothingSelected(adapterView); else { String tag = languages.get(position - 1).first; - prefs.edit().putString("language", tag).commit(); // apply won't work here + if (tag.equals(spLanguage.getTag())) + return; + + new AlertDialog.Builder(view.getContext()) + .setTitle(languages.get(position - 1).second) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + prefs.edit().putString("language", tag).commit(); // apply won't work here + } + }) + .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + // Do nothing + } + }) + .setOnDismissListener(new DialogInterface.OnDismissListener() { + @Override + public void onDismiss(DialogInterface dialog) { + setOptions(); + } + }) + .show(); } } @@ -865,6 +888,8 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc selected = pos + 1; } + spLanguage.setTag(language); + ArrayAdapter adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, android.R.id.text1, display); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spLanguage.setAdapter(adapter);