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