mirror of
https://codeberg.org/tom79/Fedilab.git
synced 2025-07-14 07:30:29 +03:00
Fix issue #1238 - Improve language picker when filtered with some languages
This commit is contained in:
parent
0fcd1c6d4b
commit
b954708e3a
1 changed files with 29 additions and 17 deletions
|
@ -25,6 +25,7 @@ import android.Manifest;
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
@ -1915,7 +1916,6 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
List<Languages.Language> languages = Languages.get(context);
|
List<Languages.Language> languages = Languages.get(context);
|
||||||
if (languages != null) {
|
if (languages != null) {
|
||||||
codesArr = new String[languages.size()];
|
codesArr = new String[languages.size()];
|
||||||
|
@ -1936,23 +1936,34 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(context);
|
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(context);
|
||||||
builder.setTitle(context.getString(R.string.message_language));
|
builder.setTitle(context.getString(R.string.message_language));
|
||||||
|
|
||||||
builder.setSingleChoiceItems(languagesArr, selection, null);
|
|
||||||
String[] finalCodesArr = codesArr;
|
String[] finalCodesArr = codesArr;
|
||||||
builder.setPositiveButton(R.string.validate, (dialog, which) -> {
|
if (storedLanguages == null || storedLanguages.isEmpty()) {
|
||||||
int selectedPosition = ((AlertDialog) dialog).getListView().getCheckedItemPosition();
|
builder.setSingleChoiceItems(languagesArr, selection, null);
|
||||||
editor.putString(context.getString(R.string.SET_COMPOSE_LANGUAGE) + account.user_id + account.instance, finalCodesArr[selectedPosition]);
|
builder.setPositiveButton(R.string.validate, (dialog, which) -> {
|
||||||
editor.apply();
|
int selectedPosition = ((AlertDialog) dialog).getListView().getCheckedItemPosition();
|
||||||
statusDraft.language = finalCodesArr[selectedPosition];
|
editor.putString(context.getString(R.string.SET_COMPOSE_LANGUAGE) + account.user_id + account.instance, finalCodesArr[selectedPosition]);
|
||||||
notifyItemChanged(holder.getLayoutPosition());
|
editor.apply();
|
||||||
dialog.dismiss();
|
statusDraft.language = finalCodesArr[selectedPosition];
|
||||||
});
|
notifyItemChanged(holder.getLayoutPosition());
|
||||||
builder.setNegativeButton(R.string.reset, (dialog, which) -> {
|
dialog.dismiss();
|
||||||
editor.putString(context.getString(R.string.SET_COMPOSE_LANGUAGE) + account.user_id + account.instance, null);
|
});
|
||||||
editor.apply();
|
builder.setNegativeButton(R.string.reset, (dialog, which) -> {
|
||||||
statusDraft.language = null;
|
editor.putString(context.getString(R.string.SET_COMPOSE_LANGUAGE) + account.user_id + account.instance, null);
|
||||||
notifyItemChanged(holder.getLayoutPosition());
|
editor.apply();
|
||||||
dialog.dismiss();
|
statusDraft.language = null;
|
||||||
});
|
notifyItemChanged(holder.getLayoutPosition());
|
||||||
|
dialog.dismiss();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
builder.setSingleChoiceItems(languagesArr, selection, (dialog, which) -> {
|
||||||
|
int selectedPosition = ((AlertDialog) dialog).getListView().getCheckedItemPosition();
|
||||||
|
editor.putString(context.getString(R.string.SET_COMPOSE_LANGUAGE) + account.user_id + account.instance, finalCodesArr[selectedPosition]);
|
||||||
|
editor.apply();
|
||||||
|
statusDraft.language = finalCodesArr[selectedPosition];
|
||||||
|
notifyItemChanged(holder.getLayoutPosition());
|
||||||
|
dialog.dismiss();
|
||||||
|
});
|
||||||
|
}
|
||||||
builder.create().show();
|
builder.create().show();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1988,6 +1999,7 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
composePollBinding.option1.textLayout.setHint(context.getString(R.string.poll_choice_s, 1));
|
composePollBinding.option1.textLayout.setHint(context.getString(R.string.poll_choice_s, 1));
|
||||||
composePollBinding.option2.text.setFilters(fArray);
|
composePollBinding.option2.text.setFilters(fArray);
|
||||||
composePollBinding.option2.textLayout.setHint(context.getString(R.string.poll_choice_s, 2));
|
composePollBinding.option2.textLayout.setHint(context.getString(R.string.poll_choice_s, 2));
|
||||||
|
composePollBinding.option2.textLayout.setHint(context.getString(R.string.poll_choice_s, 2));
|
||||||
composePollBinding.option1.buttonRemove.setVisibility(View.GONE);
|
composePollBinding.option1.buttonRemove.setVisibility(View.GONE);
|
||||||
composePollBinding.option2.buttonRemove.setVisibility(View.GONE);
|
composePollBinding.option2.buttonRemove.setVisibility(View.GONE);
|
||||||
int finalMax_entry = max_entry;
|
int finalMax_entry = max_entry;
|
||||||
|
|
Loading…
Reference in a new issue