diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index a429ecfaf2..82a3041e8f 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -96,6 +96,8 @@ import android.view.textclassifier.ConversationAction; import android.view.textclassifier.ConversationActions; import android.webkit.WebSettings; import android.webkit.WebView; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; @@ -103,6 +105,7 @@ import android.widget.EditText; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.PopupWindow; +import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; @@ -6661,9 +6664,36 @@ public class AdapterMessage extends RecyclerView.Adapter languages = DeepL.getTargetLanguages(context); + ArrayAdapter adapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, android.R.id.text1, languages); + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + spLanguage.setAdapter(adapter); + + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + String current = prefs.getString("deepl_target", null); + + for (int pos = 0; pos < languages.size(); pos++) + if (languages.get(pos).target.equals(current)) { + spLanguage.setSelection(pos); + break; + } + + spLanguage.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView parent, View view, int position, long id) { + prefs.edit().putString("deepl_target", languages.get(position).target).apply(); + } + + @Override + public void onNothingSelected(AdapterView parent) { + prefs.edit().remove("deepl_target").apply(); + } + }); + tvText.setText(null); new SimpleTask() { @@ -6726,7 +6756,12 @@ public class AdapterMessage extends RecyclerView.Adapter() { @@ -6743,8 +6778,8 @@ public class AdapterMessage extends RecyclerView.Adapter + + + + + app:layout_constraintTop_toBottomOf="@id/tvUsage" />