mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-31 14:53:59 +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 MANAGED_EXIF_TAGS = "managed_exif_tags"; | ||||
|     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 KEY_THEME_VALUE = "appThemePref"; | ||||
| 
 | ||||
|  |  | |||
|  | @ -79,6 +79,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
| 
 | ||||
|     private ListPreference themeListPreference; | ||||
|     private Preference descriptionLanguageListPreference; | ||||
|     private Preference descriptionSecondaryLanguageListPreference; | ||||
|     private Preference appUiLanguageListPreference; | ||||
|     private String keyLanguageListPreference; | ||||
|     private TextView recentLanguagesTextView; | ||||
|  | @ -152,6 +153,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|         appUiLanguageListPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { | ||||
|             @Override | ||||
|             public boolean onPreferenceClick(Preference preference) { | ||||
|                 System.out.println("Clicked appui"); | ||||
|                 prepareAppLanguages(appUiLanguageListPreference.getKey()); | ||||
|                 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"); | ||||
|         betaTesterPreference.setOnPreferenceClickListener(preference -> { | ||||
|             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("displayNearbyCardView").setEnabled(false); | ||||
|             findPreference("descriptionDefaultLanguagePref").setEnabled(false); | ||||
|             findPreference("descriptionSecondaryLanguagePref").setEnabled(false); | ||||
|             findPreference("displayLocationPermissionForCardView").setEnabled(false); | ||||
|             findPreference(CampaignView.CAMPAIGNS_DEFAULT_PREFERENCE).setEnabled(false); | ||||
|             findPreference("managed_exif_tags").setEnabled(false); | ||||
|  | @ -278,6 +303,8 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|      */ | ||||
|     private void prepareAppLanguages(final String keyListPreference) { | ||||
| 
 | ||||
|         System.out.println("gets to prepare app languages"); | ||||
| 
 | ||||
|         // Gets current language code from shared preferences | ||||
|         final String languageCode = getCurrentLanguageCode(keyListPreference); | ||||
|         final List<Language> recentLanguages = recentLanguagesDao.getRecentLanguages(); | ||||
|  | @ -293,6 +320,15 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|             } | ||||
|         } 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; | ||||
|         if (languageCode.equals("")) { | ||||
|             selectedLanguages.put(0, Locale.getDefault().getLanguage()); | ||||
|  | @ -368,9 +404,12 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|                     getActivity().recreate(); | ||||
|                     final Intent intent = new Intent(getActivity(), MainActivity.class); | ||||
|                     startActivity(intent); | ||||
|                 }else { | ||||
|                 }else if(keyListPreference.equals("descriptionDefaultLanguagePref")){ | ||||
|                     descriptionLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale)); | ||||
|                 } | ||||
|                 else{ | ||||
|                     descriptionSecondaryLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale)); | ||||
|                 } | ||||
|                 dialog.dismiss(); | ||||
|             } | ||||
|         }); | ||||
|  | @ -496,6 +535,8 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|             defaultKvStore.putString(Prefs.APP_UI_LANGUAGE, userSelectedValue); | ||||
|         } else if (preferenceKey.equals("descriptionDefaultLanguagePref")) { | ||||
|             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")) { | ||||
|             return defaultKvStore.getString(Prefs.DESCRIPTION_LANGUAGE, ""); | ||||
|         } | ||||
|         if (preferenceKey.equals("descriptionSecondaryLanguagePref")) { | ||||
|             return defaultKvStore.getString(Prefs.SECONDARY_LANGUAGE, ""); | ||||
|         } | ||||
|         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="review_is_uploaded_by">%1$s is uploaded by: %2$s</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_success">Success</string> | ||||
|   <string name="delete_helper_show_deletion_message_if">Nominated %1$s for deletion.</string> | ||||
|  |  | |||
|  | @ -25,12 +25,20 @@ | |||
|           app:singleLineTitle="false" | ||||
|           android:title="@string/app_ui_language" /> | ||||
| 
 | ||||
| 
 | ||||
|         <Preference | ||||
|           android:key="descriptionDefaultLanguagePref" | ||||
|           app:useSimpleSummaryProvider="true" | ||||
|           app:singleLineTitle="false" | ||||
|           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 | ||||
|           android:defaultValue="true" | ||||
|           android:key="displayNearbyCardView" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Adith
						Adith