mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-31 23:03:54 +01:00
new preference category
This commit is contained in:
parent
b851712370
commit
4fc2bbd786
4 changed files with 56 additions and 1 deletions
|
|
@ -8,6 +8,8 @@ public class Prefs {
|
||||||
public static final String UPLOADS_SHOWING = "uploadsshowing";
|
public static final String UPLOADS_SHOWING = "uploadsshowing";
|
||||||
public static final String MANAGED_EXIF_TAGS = "managed_exif_tags";
|
public static final String MANAGED_EXIF_TAGS = "managed_exif_tags";
|
||||||
public static final String DESCRIPTION_LANGUAGE = "languageDescription";
|
public static final String DESCRIPTION_LANGUAGE = "languageDescription";
|
||||||
|
public static final String SECONDARY_LANGUAGE = "languageSecondary";
|
||||||
|
|
||||||
public static final String APP_UI_LANGUAGE = "appUiLanguage";
|
public static final String APP_UI_LANGUAGE = "appUiLanguage";
|
||||||
public static final String KEY_THEME_VALUE = "appThemePref";
|
public static final String KEY_THEME_VALUE = "appThemePref";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||||
|
|
||||||
private ListPreference themeListPreference;
|
private ListPreference themeListPreference;
|
||||||
private Preference descriptionLanguageListPreference;
|
private Preference descriptionLanguageListPreference;
|
||||||
|
private Preference descriptionSecondaryLanguageListPreference;
|
||||||
private Preference appUiLanguageListPreference;
|
private Preference appUiLanguageListPreference;
|
||||||
private String keyLanguageListPreference;
|
private String keyLanguageListPreference;
|
||||||
private TextView recentLanguagesTextView;
|
private TextView recentLanguagesTextView;
|
||||||
|
|
@ -152,6 +153,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||||
appUiLanguageListPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
appUiLanguageListPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
System.out.println("Clicked appui");
|
||||||
prepareAppLanguages(appUiLanguageListPreference.getKey());
|
prepareAppLanguages(appUiLanguageListPreference.getKey());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -178,6 +180,28 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
descriptionSecondaryLanguageListPreference = findPreference("descriptionSecondaryLanguagePref");
|
||||||
|
assert descriptionSecondaryLanguageListPreference != null;
|
||||||
|
keyLanguageListPreference = descriptionSecondaryLanguageListPreference.getKey();
|
||||||
|
languageCode = getCurrentLanguageCode(keyLanguageListPreference);
|
||||||
|
assert languageCode != null;
|
||||||
|
if (languageCode.equals("")) {
|
||||||
|
// If current language code is empty, means none selected by user yet so use phone local
|
||||||
|
descriptionSecondaryLanguageListPreference.setSummary(Locale.getDefault().getDisplayLanguage());
|
||||||
|
} else {
|
||||||
|
// If any language is selected by user previously, use it
|
||||||
|
Locale defLocale = createLocale(languageCode);
|
||||||
|
descriptionSecondaryLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale));
|
||||||
|
}
|
||||||
|
descriptionSecondaryLanguageListPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
System.out.println("clickedseco");
|
||||||
|
prepareAppLanguages(descriptionSecondaryLanguageListPreference.getKey());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Preference betaTesterPreference = findPreference("becomeBetaTester");
|
Preference betaTesterPreference = findPreference("becomeBetaTester");
|
||||||
betaTesterPreference.setOnPreferenceClickListener(preference -> {
|
betaTesterPreference.setOnPreferenceClickListener(preference -> {
|
||||||
Utils.handleWebUrl(getActivity(), Uri.parse(getResources().getString(R.string.beta_opt_in_link)));
|
Utils.handleWebUrl(getActivity(), Uri.parse(getResources().getString(R.string.beta_opt_in_link)));
|
||||||
|
|
@ -205,6 +229,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||||
findPreference("useAuthorName").setEnabled(false);
|
findPreference("useAuthorName").setEnabled(false);
|
||||||
findPreference("displayNearbyCardView").setEnabled(false);
|
findPreference("displayNearbyCardView").setEnabled(false);
|
||||||
findPreference("descriptionDefaultLanguagePref").setEnabled(false);
|
findPreference("descriptionDefaultLanguagePref").setEnabled(false);
|
||||||
|
findPreference("descriptionSecondaryLanguagePref").setEnabled(false);
|
||||||
findPreference("displayLocationPermissionForCardView").setEnabled(false);
|
findPreference("displayLocationPermissionForCardView").setEnabled(false);
|
||||||
findPreference(CampaignView.CAMPAIGNS_DEFAULT_PREFERENCE).setEnabled(false);
|
findPreference(CampaignView.CAMPAIGNS_DEFAULT_PREFERENCE).setEnabled(false);
|
||||||
findPreference("managed_exif_tags").setEnabled(false);
|
findPreference("managed_exif_tags").setEnabled(false);
|
||||||
|
|
@ -278,6 +303,8 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||||
*/
|
*/
|
||||||
private void prepareAppLanguages(final String keyListPreference) {
|
private void prepareAppLanguages(final String keyListPreference) {
|
||||||
|
|
||||||
|
System.out.println("gets to prepare app languages");
|
||||||
|
|
||||||
// Gets current language code from shared preferences
|
// Gets current language code from shared preferences
|
||||||
final String languageCode = getCurrentLanguageCode(keyListPreference);
|
final String languageCode = getCurrentLanguageCode(keyListPreference);
|
||||||
final List<Language> recentLanguages = recentLanguagesDao.getRecentLanguages();
|
final List<Language> recentLanguages = recentLanguagesDao.getRecentLanguages();
|
||||||
|
|
@ -293,6 +320,15 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||||
}
|
}
|
||||||
} else if (keyListPreference.equals("descriptionDefaultLanguagePref")) {
|
} else if (keyListPreference.equals("descriptionDefaultLanguagePref")) {
|
||||||
|
|
||||||
|
assert languageCode != null;
|
||||||
|
if (languageCode.equals("")) {
|
||||||
|
selectedLanguages.put(0, Locale.getDefault().getLanguage());
|
||||||
|
|
||||||
|
} else {
|
||||||
|
selectedLanguages.put(0, languageCode);
|
||||||
|
}
|
||||||
|
} else if (keyListPreference.equals("descriptionSecondaryLanguagePref")) {
|
||||||
|
|
||||||
assert languageCode != null;
|
assert languageCode != null;
|
||||||
if (languageCode.equals("")) {
|
if (languageCode.equals("")) {
|
||||||
selectedLanguages.put(0, Locale.getDefault().getLanguage());
|
selectedLanguages.put(0, Locale.getDefault().getLanguage());
|
||||||
|
|
@ -368,9 +404,12 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||||
getActivity().recreate();
|
getActivity().recreate();
|
||||||
final Intent intent = new Intent(getActivity(), MainActivity.class);
|
final Intent intent = new Intent(getActivity(), MainActivity.class);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}else {
|
}else if(keyListPreference.equals("descriptionDefaultLanguagePref")){
|
||||||
descriptionLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale));
|
descriptionLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale));
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
descriptionSecondaryLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale));
|
||||||
|
}
|
||||||
dialog.dismiss();
|
dialog.dismiss();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -496,6 +535,8 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||||
defaultKvStore.putString(Prefs.APP_UI_LANGUAGE, userSelectedValue);
|
defaultKvStore.putString(Prefs.APP_UI_LANGUAGE, userSelectedValue);
|
||||||
} else if (preferenceKey.equals("descriptionDefaultLanguagePref")) {
|
} else if (preferenceKey.equals("descriptionDefaultLanguagePref")) {
|
||||||
defaultKvStore.putString(Prefs.DESCRIPTION_LANGUAGE, userSelectedValue);
|
defaultKvStore.putString(Prefs.DESCRIPTION_LANGUAGE, userSelectedValue);
|
||||||
|
} else if (preferenceKey.equals("descriptionSecondaryLanguagePref")) {
|
||||||
|
defaultKvStore.putString(Prefs.SECONDARY_LANGUAGE, userSelectedValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -511,6 +552,9 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||||
if (preferenceKey.equals("descriptionDefaultLanguagePref")) {
|
if (preferenceKey.equals("descriptionDefaultLanguagePref")) {
|
||||||
return defaultKvStore.getString(Prefs.DESCRIPTION_LANGUAGE, "");
|
return defaultKvStore.getString(Prefs.DESCRIPTION_LANGUAGE, "");
|
||||||
}
|
}
|
||||||
|
if (preferenceKey.equals("descriptionSecondaryLanguagePref")) {
|
||||||
|
return defaultKvStore.getString(Prefs.SECONDARY_LANGUAGE, "");
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -544,6 +544,7 @@ Upload your first media by tapping on the add button.</string>
|
||||||
<string name="dialog_box_text_nomination">Why should %1$s be deleted?</string>
|
<string name="dialog_box_text_nomination">Why should %1$s be deleted?</string>
|
||||||
<string name="review_is_uploaded_by">%1$s is uploaded by: %2$s</string>
|
<string name="review_is_uploaded_by">%1$s is uploaded by: %2$s</string>
|
||||||
<string name="default_description_language">Default description language</string>
|
<string name="default_description_language">Default description language</string>
|
||||||
|
<string name="secondary_description_language">Secondary Description Language</string>
|
||||||
<string name="delete_helper_show_deletion_title">Nominating for deletion</string>
|
<string name="delete_helper_show_deletion_title">Nominating for deletion</string>
|
||||||
<string name="delete_helper_show_deletion_title_success">Success</string>
|
<string name="delete_helper_show_deletion_title_success">Success</string>
|
||||||
<string name="delete_helper_show_deletion_message_if">Nominated %1$s for deletion.</string>
|
<string name="delete_helper_show_deletion_message_if">Nominated %1$s for deletion.</string>
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,20 @@
|
||||||
app:singleLineTitle="false"
|
app:singleLineTitle="false"
|
||||||
android:title="@string/app_ui_language" />
|
android:title="@string/app_ui_language" />
|
||||||
|
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="descriptionDefaultLanguagePref"
|
android:key="descriptionDefaultLanguagePref"
|
||||||
app:useSimpleSummaryProvider="true"
|
app:useSimpleSummaryProvider="true"
|
||||||
app:singleLineTitle="false"
|
app:singleLineTitle="false"
|
||||||
android:title="@string/default_description_language" />
|
android:title="@string/default_description_language" />
|
||||||
|
|
||||||
|
<!-- New Secondary Language Picker -->
|
||||||
|
<Preference
|
||||||
|
android:key="descriptionSecondaryLanguagePref"
|
||||||
|
app:useSimpleSummaryProvider="true"
|
||||||
|
app:singleLineTitle="false"
|
||||||
|
android:title="@string/secondary_description_language" />
|
||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:key="displayNearbyCardView"
|
android:key="displayNearbyCardView"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue