diff --git a/app/src/main/java/org/kiwix/kiwixmobile/library/LibraryAdapter.java b/app/src/main/java/org/kiwix/kiwixmobile/library/LibraryAdapter.java index 09a0c91e4..0a62a4291 100755 --- a/app/src/main/java/org/kiwix/kiwixmobile/library/LibraryAdapter.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/library/LibraryAdapter.java @@ -53,7 +53,6 @@ import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; -import java.util.MissingResourceException; import java.util.Set; import javax.inject.Inject; @@ -432,12 +431,14 @@ public class LibraryAdapter extends BaseAdapter { public String language; public String languageLocalized; public String languageCode; + public String languageCodeISO2; public Boolean active; Language(Locale locale, Boolean active) { this.language = locale.getDisplayLanguage(); this.languageLocalized = locale.getDisplayLanguage(locale); this.languageCode = locale.getISO3Language(); + this.languageCodeISO2 = locale.getLanguage(); this.active = active; } diff --git a/app/src/main/java/org/kiwix/kiwixmobile/settings/KiwixSettingsActivity.java b/app/src/main/java/org/kiwix/kiwixmobile/settings/KiwixSettingsActivity.java index 8d336f80b..b1ac93232 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/settings/KiwixSettingsActivity.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/settings/KiwixSettingsActivity.java @@ -23,11 +23,9 @@ import android.app.FragmentManager; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; -import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Environment; import android.preference.EditTextPreference; -import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceCategory; import android.preference.PreferenceFragment; @@ -39,7 +37,6 @@ import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.webkit.WebView; import android.widget.BaseAdapter; -import android.widget.RelativeLayout; import android.widget.Toast; import org.kiwix.kiwixmobile.BuildConfig; @@ -347,7 +344,7 @@ public class KiwixSettingsActivity extends AppCompatActivity { editor.putString(PREF_LANG, languageCode); editor.apply(); - LanguageUtils.handleLocaleChange(getActivity(), languageCode.toString()); + LanguageUtils.handleLocaleChange(getActivity(), languageCode); // Request a restart when the user returns to the Activity, that called this Activity restartActivity(); })) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/views/LanguageSelectDialog.java b/app/src/main/java/org/kiwix/kiwixmobile/views/LanguageSelectDialog.java index ff4bf34cb..447c5ca32 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/views/LanguageSelectDialog.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/views/LanguageSelectDialog.java @@ -14,6 +14,7 @@ import android.widget.Toast; import org.kiwix.kiwixmobile.R; import org.kiwix.kiwixmobile.library.LibraryAdapter; +import org.kiwix.kiwixmobile.utils.LanguageUtils; import java.util.List; import java.util.Map; @@ -57,13 +58,13 @@ public class LanguageSelectDialog extends AlertDialog { return this; } - // Should only be called if setSingleSelect has previously been called with a value of false + // 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; } - // Should only be called if setSingleSelect has previously been called with a value of false + // Should only be called if setSingleSelect has previously been called with a value of true public Builder setOnLanguageSelectedListener(OnLanguageSelectedListener listener) { languageSelectedListener = listener; return this; @@ -161,14 +162,14 @@ public class LanguageSelectDialog extends AlertDialog { holder.checkBox.setClickable(false); holder.checkBox.setFocusable(false); - if (getSelectedLanguage().equalsIgnoreCase(language.languageCode)) { + if (getSelectedLanguage().equalsIgnoreCase(language.languageCodeISO2)) { holder.checkBox.setChecked(true); } else { holder.checkBox.setChecked(false); } convertView.setOnClickListener((v -> { - setSelectedLanguage(language.languageCode); + setSelectedLanguage(language.languageCodeISO2); notifyDataSetChanged(); })); }