mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-09 07:16:04 -04:00
Fixed formatting issues
This commit is contained in:
parent
fe3c0b83b7
commit
44d1a11236
@ -336,19 +336,19 @@ public class KiwixSettingsActivity extends AppCompatActivity {
|
||||
String selectedLang = sharedPreferences.getString(PREF_LANG, Locale.getDefault().toString());
|
||||
|
||||
new LanguageSelectDialog.Builder(getActivity(), dialogStyle())
|
||||
.setLanguages(languageUtils.getLanguageList())
|
||||
.setSingleSelect(true)
|
||||
.setSelectedLanguage(selectedLang)
|
||||
.setOnLanguageSelectedListener((languageCode -> {
|
||||
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||
editor.putString(PREF_LANG, languageCode);
|
||||
editor.apply();
|
||||
.setLanguages(languageUtils.getLanguageList())
|
||||
.setSingleSelect(true)
|
||||
.setSelectedLanguage(selectedLang)
|
||||
.setOnLanguageSelectedListener((languageCode -> {
|
||||
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||
editor.putString(PREF_LANG, languageCode);
|
||||
editor.apply();
|
||||
|
||||
LanguageUtils.handleLocaleChange(getActivity(), languageCode);
|
||||
// Request a restart when the user returns to the Activity, that called this Activity
|
||||
restartActivity();
|
||||
}))
|
||||
.show();
|
||||
LanguageUtils.handleLocaleChange(getActivity(), languageCode);
|
||||
// Request a restart when the user returns to the Activity, that called this Activity
|
||||
restartActivity();
|
||||
}))
|
||||
.show();
|
||||
}
|
||||
|
||||
public void openFolderSelect(){
|
||||
|
@ -24,28 +24,28 @@ import java.util.Map;
|
||||
*/
|
||||
|
||||
public class LanguageSelectDialog extends AlertDialog {
|
||||
protected LanguageSelectDialog(@NonNull Context context) {
|
||||
super(context);
|
||||
}
|
||||
protected LanguageSelectDialog(@NonNull Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public static class Builder extends AlertDialog.Builder {
|
||||
private List<LibraryAdapter.Language> languages;
|
||||
private Map<String, Integer> languageCounts;
|
||||
private boolean singleSelect = false;
|
||||
private String selectedLanguage;
|
||||
private OnLanguageSelectedListener languageSelectedListener;
|
||||
public static class Builder extends AlertDialog.Builder {
|
||||
private List<LibraryAdapter.Language> languages;
|
||||
private Map<String, Integer> languageCounts;
|
||||
private boolean singleSelect = false;
|
||||
private String selectedLanguage;
|
||||
private OnLanguageSelectedListener languageSelectedListener;
|
||||
|
||||
public Builder(@NonNull Context context) {
|
||||
super(context);
|
||||
}
|
||||
public Builder(@NonNull Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public Builder(@NonNull Context context, int themeResId) {
|
||||
super(context, themeResId);
|
||||
}
|
||||
public Builder(@NonNull Context context, int themeResId) {
|
||||
super(context, themeResId);
|
||||
}
|
||||
|
||||
public Builder setLanguages(List<LibraryAdapter.Language> languages) {
|
||||
this.languages = languages;
|
||||
return this;
|
||||
public Builder setLanguages(List<LibraryAdapter.Language> languages) {
|
||||
this.languages = languages;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setLanguageCounts(Map<String, Integer> languageCounts) {
|
||||
@ -54,44 +54,42 @@ public class LanguageSelectDialog extends AlertDialog {
|
||||
}
|
||||
|
||||
public Builder setSingleSelect(boolean singleSelect) {
|
||||
this.singleSelect = singleSelect;
|
||||
return this;
|
||||
this.singleSelect = singleSelect;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Should only be called if setSingleSelect has previously been called with a value of true
|
||||
public Builder setSelectedLanguage(String languageCode) {
|
||||
this.selectedLanguage = languageCode;
|
||||
return this;
|
||||
this.selectedLanguage = languageCode;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Should only be called if setSingleSelect has previously been called with a value of true
|
||||
public Builder setOnLanguageSelectedListener(OnLanguageSelectedListener listener) {
|
||||
languageSelectedListener = listener;
|
||||
return this;
|
||||
languageSelectedListener = listener;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AlertDialog create() {
|
||||
LinearLayout view = (LinearLayout) View.inflate(getContext(), R.layout.language_selection, null);
|
||||
ListView listView = view.findViewById(R.id.language_check_view);
|
||||
int size = 0;
|
||||
try {
|
||||
size = languages.size();
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
@Override
|
||||
public AlertDialog create() {
|
||||
LinearLayout view = (LinearLayout) View
|
||||
.inflate(getContext(), R.layout.language_selection, null);
|
||||
ListView listView = view.findViewById(R.id.language_check_view);
|
||||
int size = 0;
|
||||
try {
|
||||
size = languages.size();
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if (size == 0) {
|
||||
Toast.makeText(getContext(), getContext().getResources().getString(R.string.wait_for_load), Toast.LENGTH_LONG).show();
|
||||
}
|
||||
LanguageArrayAdapter languageArrayAdapter = new LanguageArrayAdapter(getContext(),
|
||||
0,
|
||||
languages,
|
||||
languageCounts,
|
||||
singleSelect,
|
||||
selectedLanguage);
|
||||
listView.setAdapter(languageArrayAdapter);
|
||||
setView(view);
|
||||
if (size == 0) {
|
||||
Toast.makeText(getContext(), getContext().getResources().getString(R.string.wait_for_load),
|
||||
Toast.LENGTH_LONG).show();
|
||||
}
|
||||
LanguageArrayAdapter languageArrayAdapter = new LanguageArrayAdapter(getContext(), 0,
|
||||
languages, languageCounts, singleSelect, selectedLanguage);
|
||||
listView.setAdapter(languageArrayAdapter);
|
||||
setView(view);
|
||||
|
||||
if (languageSelectedListener != null) {
|
||||
setPositiveButton(android.R.string.ok, ((dialog, which) -> {
|
||||
@ -99,73 +97,69 @@ public class LanguageSelectDialog extends AlertDialog {
|
||||
}));
|
||||
}
|
||||
|
||||
return super.create();
|
||||
}
|
||||
}
|
||||
return super.create();
|
||||
}
|
||||
}
|
||||
|
||||
private static class LanguageArrayAdapter extends ArrayAdapter<LibraryAdapter.Language> {
|
||||
private Map<String, Integer> languageCounts;
|
||||
private Context context;
|
||||
private boolean singleSelect;
|
||||
private static class LanguageArrayAdapter extends ArrayAdapter<LibraryAdapter.Language> {
|
||||
private Map<String, Integer> languageCounts;
|
||||
private Context context;
|
||||
private boolean singleSelect;
|
||||
private String selectedLanguage;
|
||||
|
||||
public LanguageArrayAdapter(Context context,
|
||||
int textViewResourceId,
|
||||
List<LibraryAdapter.Language> languages,
|
||||
Map<String, Integer> languageCounts,
|
||||
boolean singleSelect,
|
||||
String selectedLanguage) {
|
||||
super(context, textViewResourceId, languages);
|
||||
this.languageCounts = languageCounts;
|
||||
this.context = context;
|
||||
this.singleSelect = singleSelect;
|
||||
public LanguageArrayAdapter(Context context, int textViewResourceId, List<LibraryAdapter.Language> languages,
|
||||
Map<String, Integer> languageCounts, boolean singleSelect, String selectedLanguage) {
|
||||
super(context, textViewResourceId, languages);
|
||||
this.languageCounts = languageCounts;
|
||||
this.context = context;
|
||||
this.singleSelect = singleSelect;
|
||||
this.selectedLanguage = selectedLanguage;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@NonNull
|
||||
@Override
|
||||
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
|
||||
LanguageArrayAdapter.ViewHolder holder;
|
||||
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
|
||||
LanguageArrayAdapter.ViewHolder holder;
|
||||
|
||||
if (convertView == null) {
|
||||
convertView = View.inflate(getContext(), R.layout.language_check_item, null);
|
||||
holder = new LanguageArrayAdapter.ViewHolder();
|
||||
holder.row = convertView.findViewById(R.id.language_row);
|
||||
holder.checkBox = convertView.findViewById(R.id.language_checkbox);
|
||||
holder.language = convertView.findViewById(R.id.language_name);
|
||||
holder.languageLocalized = convertView.findViewById(R.id.language_name_localized);
|
||||
holder.languageEntriesCount = convertView.findViewById(R.id.language_entries_count);
|
||||
convertView.setTag(holder);
|
||||
} else {
|
||||
holder = (LanguageArrayAdapter.ViewHolder) convertView.getTag();
|
||||
}
|
||||
|
||||
// Set event listeners first, since updating the default values can trigger them.
|
||||
holder.row.setOnClickListener((view) -> holder.checkBox.toggle());
|
||||
holder.checkBox.setOnCheckedChangeListener((compoundButton, b) -> getItem(position).active = b);
|
||||
|
||||
LibraryAdapter.Language language = getItem(position);
|
||||
holder.language.setText(language.language);
|
||||
holder.languageLocalized.setText(language.languageLocalized);
|
||||
|
||||
if (languageCounts != null) {
|
||||
holder.languageEntriesCount.setText(
|
||||
context.getString(R.string.language_count,
|
||||
languageCounts.get(language.languageCode)));
|
||||
if (convertView == null) {
|
||||
convertView = View.inflate(getContext(), R.layout.language_check_item, null);
|
||||
holder = new LanguageArrayAdapter.ViewHolder();
|
||||
holder.row = convertView.findViewById(R.id.language_row);
|
||||
holder.checkBox = convertView.findViewById(R.id.language_checkbox);
|
||||
holder.language = convertView.findViewById(R.id.language_name);
|
||||
holder.languageLocalized = convertView.findViewById(R.id.language_name_localized);
|
||||
holder.languageEntriesCount = convertView.findViewById(R.id.language_entries_count);
|
||||
convertView.setTag(holder);
|
||||
} else {
|
||||
holder.languageEntriesCount.setVisibility(View.GONE);
|
||||
holder = (LanguageArrayAdapter.ViewHolder) convertView.getTag();
|
||||
}
|
||||
|
||||
// Set event listeners first, since updating the default values can trigger them.
|
||||
holder.row.setOnClickListener((view) -> holder.checkBox.toggle());
|
||||
holder.checkBox
|
||||
.setOnCheckedChangeListener((compoundButton, b) -> getItem(position).active = b);
|
||||
|
||||
LibraryAdapter.Language language = getItem(position);
|
||||
holder.language.setText(language.language);
|
||||
holder.languageLocalized.setText(language.languageLocalized);
|
||||
|
||||
if (languageCounts != null) {
|
||||
holder.languageEntriesCount.setText(context.getString(R.string.language_count,
|
||||
languageCounts.get(language.languageCode)));
|
||||
} else {
|
||||
holder.languageEntriesCount.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if (!singleSelect) {
|
||||
holder.checkBox.setChecked(language.active);
|
||||
} else {
|
||||
holder.checkBox.setClickable(false);
|
||||
holder.checkBox.setFocusable(false);
|
||||
holder.checkBox.setClickable(false);
|
||||
holder.checkBox.setFocusable(false);
|
||||
|
||||
if (getSelectedLanguage().equalsIgnoreCase(language.languageCodeISO2)) {
|
||||
holder.checkBox.setChecked(true);
|
||||
if (getSelectedLanguage().equalsIgnoreCase(language.languageCodeISO2)) {
|
||||
holder.checkBox.setChecked(true);
|
||||
} else {
|
||||
holder.checkBox.setChecked(false);
|
||||
holder.checkBox.setChecked(false);
|
||||
}
|
||||
|
||||
convertView.setOnClickListener((v -> {
|
||||
@ -174,8 +168,8 @@ public class LanguageSelectDialog extends AlertDialog {
|
||||
}));
|
||||
}
|
||||
|
||||
return convertView;
|
||||
}
|
||||
return convertView;
|
||||
}
|
||||
|
||||
public String getSelectedLanguage() {
|
||||
return selectedLanguage;
|
||||
@ -185,19 +179,19 @@ public class LanguageSelectDialog extends AlertDialog {
|
||||
this.selectedLanguage = selectedLanguage;
|
||||
}
|
||||
|
||||
// We are using the ViewHolder pattern in order to optimize the ListView by reusing
|
||||
// Views and saving them to this mLibrary class, and not inflating the layout every time
|
||||
// we need to create a row.
|
||||
private class ViewHolder {
|
||||
ViewGroup row;
|
||||
CheckBox checkBox;
|
||||
TextView language;
|
||||
TextView languageLocalized;
|
||||
TextView languageEntriesCount;
|
||||
}
|
||||
}
|
||||
// We are using the ViewHolder pattern in order to optimize the ListView by reusing
|
||||
// Views and saving them to this mLibrary class, and not inflating the layout every time
|
||||
// we need to create a row.
|
||||
private class ViewHolder {
|
||||
ViewGroup row;
|
||||
CheckBox checkBox;
|
||||
TextView language;
|
||||
TextView languageLocalized;
|
||||
TextView languageEntriesCount;
|
||||
}
|
||||
}
|
||||
|
||||
public interface OnLanguageSelectedListener {
|
||||
void onLanguageSelected(String languageCode);
|
||||
public interface OnLanguageSelectedListener {
|
||||
void onLanguageSelected(String languageCode);
|
||||
}
|
||||
}
|
||||
|
@ -224,13 +224,13 @@ public class ZimManageActivity extends AppCompatActivity {
|
||||
|
||||
private void showLanguageSelect() {
|
||||
new LanguageSelectDialog.Builder(this, dialogStyle())
|
||||
.setLanguages(mSectionsPagerAdapter.libraryFragment.libraryAdapter.languages)
|
||||
.setLanguageCounts(mSectionsPagerAdapter.libraryFragment.libraryAdapter.languageCounts)
|
||||
.setPositiveButton(android.R.string.ok, (dialogInterface, i) -> {
|
||||
mSectionsPagerAdapter.libraryFragment.libraryAdapter.updateNetworkLanguages();
|
||||
mSectionsPagerAdapter.libraryFragment.libraryAdapter.getFilter().filter(searchQuery);
|
||||
})
|
||||
.show();
|
||||
.setLanguages(mSectionsPagerAdapter.libraryFragment.libraryAdapter.languages)
|
||||
.setLanguageCounts(mSectionsPagerAdapter.libraryFragment.libraryAdapter.languageCounts)
|
||||
.setPositiveButton(android.R.string.ok, (dialogInterface, i) -> {
|
||||
mSectionsPagerAdapter.libraryFragment.libraryAdapter.updateNetworkLanguages();
|
||||
mSectionsPagerAdapter.libraryFragment.libraryAdapter.getFilter().filter(searchQuery);
|
||||
})
|
||||
.show();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user