mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-30 22:34:02 +01:00 
			
		
		
		
	init
This commit is contained in:
		
							parent
							
								
									bd436422dc
								
							
						
					
					
						commit
						bdda18223e
					
				
					 7 changed files with 57 additions and 12 deletions
				
			
		|  | @ -223,7 +223,9 @@ public class LoginActivity extends AccountAuthenticatorActivity { | |||
|         final String twoFactorCode = Objects.requireNonNull(binding.loginTwoFactor.getText()).toString(); | ||||
| 
 | ||||
|         showLoggingProgressBar(); | ||||
|         loginClient.doLogin(username, password, twoFactorCode, Locale.getDefault().getLanguage(), | ||||
|         String fullCode = Locale.getDefault().getLanguage(); | ||||
|         String mainCode = fullCode.contains(",") ? fullCode.substring(0, fullCode.indexOf(',')).trim() : fullCode; | ||||
|         loginClient.doLogin(username, password, twoFactorCode, mainCode, | ||||
|             new LoginCallback() { | ||||
|                 @Override | ||||
|                 public void success(@NonNull LoginResult loginResult) { | ||||
|  |  | |||
|  | @ -490,7 +490,7 @@ public class MainActivity extends BaseActivity | |||
|             Activity.MODE_PRIVATE); | ||||
|         final String language = preferences.getString("language", ""); | ||||
|         final SettingsFragment settingsFragment = new SettingsFragment(); | ||||
|         settingsFragment.setLocale(this, language); | ||||
|         settingsFragment.setLocale(this, language, true); | ||||
|     } | ||||
| 
 | ||||
|     public NavTabLayout.OnNavigationItemSelectedListener getNavListener() { | ||||
|  |  | |||
|  | @ -345,6 +345,8 @@ public class NetworkingModule { | |||
|     @Singleton | ||||
|     @Named(NAMED_LANGUAGE_WIKI_PEDIA_WIKI_SITE) | ||||
|     public WikiSite provideLanguageWikipediaSite() { | ||||
|         return WikiSite.forLanguageCode(Locale.getDefault().getLanguage()); | ||||
|         String fullCode = Locale.getDefault().getLanguage(); | ||||
|         String mainCode = fullCode.contains(",") ? fullCode.substring(0, fullCode.indexOf(',')).trim() : fullCode; | ||||
|         return WikiSite.forLanguageCode(mainCode); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -707,7 +707,8 @@ public class MediaDetailFragment extends CommonsDaggerSupportFragment implements | |||
|      */ | ||||
|     private void buildDepictionList(List<IdAndCaptions> idAndCaptions) { | ||||
|         binding.mediaDetailDepictionContainer.removeAllViews(); | ||||
|         String locale = Locale.getDefault().getLanguage(); | ||||
|         String fullCode = Locale.getDefault().getLanguage(); | ||||
|         String locale = fullCode.contains(",") ? fullCode.substring(0, fullCode.indexOf(',')).trim() : fullCode; | ||||
|         for (IdAndCaptions idAndCaption : idAndCaptions) { | ||||
|             binding.mediaDetailDepictionContainer.addView(buildDepictLabel( | ||||
|                     getDepictionCaption(idAndCaption, locale), | ||||
|  |  | |||
|  | @ -56,6 +56,8 @@ public class NearbyController extends MapController { | |||
|             Timber.d("Loading attractions nearby, but currentLatLng is null"); | ||||
|             return null; | ||||
|         } | ||||
|         String fullCode = Locale.getDefault().getLanguage(); | ||||
|         String mainCode = fullCode.contains(",") ? fullCode.substring(0, fullCode.indexOf(',')).trim() : fullCode; | ||||
|         List<Place> places = nearbyPlaces | ||||
|             .radiusExpander(searchLatLng, Locale.getDefault().getLanguage(), returnClosestResult, | ||||
|                 customQuery); | ||||
|  |  | |||
|  | @ -373,9 +373,11 @@ public class UploadRepository { | |||
|     @Nullable | ||||
|     public Place checkNearbyPlaces(final double decLatitude, final double decLongitude) { | ||||
|         try { | ||||
|             String fullCode = Locale.getDefault().getLanguage(); | ||||
|             String mainCode = fullCode.contains(",") ? fullCode.substring(0, fullCode.indexOf(',')).trim() : fullCode; | ||||
|             final List<Place> fromWikidataQuery = nearbyPlaces.getFromWikidataQuery(new LatLng( | ||||
|                     decLatitude, decLongitude, 0.0f), | ||||
|                 Locale.getDefault().getLanguage(), | ||||
|                 mainCode, | ||||
|                 NEARBY_RADIUS_IN_KILO_METERS, null); | ||||
|             return (fromWikidataQuery != null && fromWikidataQuery.size() > 0) ? fromWikidataQuery | ||||
|                 .get(0) : null; | ||||
|  |  | |||
|  | @ -327,7 +327,9 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|         System.out.println(languageCode); | ||||
|         HashMap<Integer, String> selectedLanguages = new HashMap<>(); | ||||
|         assert languageCode != null; | ||||
|         selectedLanguages.put(0, Locale.getDefault().getLanguage()); | ||||
|         String fullCode = Locale.getDefault().getLanguage(); | ||||
|         String mainCode = fullCode.contains(",") ? fullCode.substring(0, fullCode.indexOf(',')).trim() : fullCode; | ||||
|         selectedLanguages.put(0, mainCode); | ||||
| 
 | ||||
|         // Deserializing saved language codes to Language objects | ||||
|         ArrayList<Language> Saved_Languages = new ArrayList<>(); | ||||
|  | @ -422,6 +424,10 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|             } | ||||
|             descriptionSecondaryLanguageListPreference.setSummary(getCurrentLanguageCode("descriptionSecondaryLanguagePref")); | ||||
|         }); | ||||
| 
 | ||||
|         dialog.setOnDismissListener(dialogInterface -> { | ||||
|             setLocale(requireActivity(), languageCode, false); | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|  | @ -448,7 +454,9 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
| 
 | ||||
|             assert languageCode != null; | ||||
|             if (languageCode.equals("")) { | ||||
|                 selectedLanguages.put(0, Locale.getDefault().getLanguage()); | ||||
|                 String fullCode = Locale.getDefault().getLanguage(); | ||||
|                 String mainCode = fullCode.contains(",") ? fullCode.substring(0, fullCode.indexOf(',')).trim() : fullCode; | ||||
|                 selectedLanguages.put(0, mainCode); | ||||
|             } else { | ||||
|                 selectedLanguages.put(0, languageCode); | ||||
|             } | ||||
|  | @ -456,7 +464,9 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
| 
 | ||||
|             assert languageCode != null; | ||||
|             if (languageCode.equals("")) { | ||||
|                 selectedLanguages.put(0, Locale.getDefault().getLanguage()); | ||||
|                 String fullCode = Locale.getDefault().getLanguage(); | ||||
|                 String mainCode = fullCode.contains(",") ? fullCode.substring(0, fullCode.indexOf(',')).trim() : fullCode; | ||||
|                 selectedLanguages.put(0, mainCode); | ||||
| 
 | ||||
|             } else { | ||||
|                 selectedLanguages.put(0, languageCode); | ||||
|  | @ -465,7 +475,9 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
| 
 | ||||
|         assert languageCode != null; | ||||
|         if (languageCode.equals("")) { | ||||
|             selectedLanguages.put(0, Locale.getDefault().getLanguage()); | ||||
|             String fullCode = Locale.getDefault().getLanguage(); | ||||
|             String mainCode = fullCode.contains(",") ? fullCode.substring(0, fullCode.indexOf(',')).trim() : fullCode; | ||||
|             selectedLanguages.put(0, mainCode); | ||||
| 
 | ||||
|         } else { | ||||
|             selectedLanguages.put(0, languageCode); | ||||
|  | @ -535,7 +547,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|                 Locale defLocale = createLocale(languageCode); | ||||
|                 if(keyListPreference.equals("appUiDefaultLanguagePref")) { | ||||
|                     appUiLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale)); | ||||
|                     setLocale(requireActivity(), languageCode); | ||||
|                     setLocale(requireActivity(), languageCode, true); | ||||
|                     getActivity().recreate(); | ||||
|                     final Intent intent = new Intent(getActivity(), MainActivity.class); | ||||
|                     startActivity(intent); | ||||
|  | @ -603,7 +615,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|         final Locale defLocale = createLocale(recentLanguageCode); | ||||
|         if (keyListPreference.equals("appUiDefaultLanguagePref")) { | ||||
|             appUiLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale)); | ||||
|             setLocale(requireActivity(), recentLanguageCode); | ||||
|             setLocale(requireActivity(), recentLanguageCode, true); | ||||
|             getActivity().recreate(); | ||||
|             final Intent intent = new Intent(getActivity(), MainActivity.class); | ||||
|             startActivity(intent); | ||||
|  | @ -622,13 +634,37 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|         separator.setVisibility(View.GONE); | ||||
|     } | ||||
| 
 | ||||
|     private String reSerialise(ArrayList<String> languageCodes) { | ||||
|         // Join the elements of the list into a single string, separated by a comma and a space | ||||
|         return String.join(", ", languageCodes); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Changing the default app language with selected one and save it to SharedPreferences | ||||
|      */ | ||||
|     public void setLocale(final Activity activity, String userSelectedValue) { | ||||
|     public void setLocale(final Activity activity, String userSelectedValue, boolean appUI) { | ||||
| 
 | ||||
|         if (userSelectedValue.equals("")) { | ||||
|             userSelectedValue = Locale.getDefault().getLanguage(); | ||||
|         } | ||||
| 
 | ||||
|         String current = Locale.getDefault().getLanguage(); | ||||
|         ArrayList<String> languageCodes = deSerialise(current); | ||||
|         if(appUI) { | ||||
|             languageCodes.set(0, userSelectedValue); | ||||
|             userSelectedValue = reSerialise(languageCodes); | ||||
|             } | ||||
|         else{ | ||||
|             ArrayList<String> newLanguageCodes = new ArrayList<>(); | ||||
|             ArrayList<String> userSelctedCode = deSerialise(userSelectedValue); | ||||
| 
 | ||||
|             newLanguageCodes.add(languageCodes.get(0)); | ||||
|             for(String code : userSelctedCode){ | ||||
|                 newLanguageCodes.add(code); | ||||
|             } | ||||
|             userSelectedValue = reSerialise(newLanguageCodes); | ||||
|         } | ||||
| 
 | ||||
|         final Locale locale = createLocale(userSelectedValue); | ||||
|         Locale.setDefault(locale); | ||||
|         final Configuration configuration = new Configuration(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Adith
						Adith