mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-31 14:53:59 +01:00 
			
		
		
		
	change the original logic of changing language in app, to adapt to google apl
This commit is contained in:
		
							parent
							
								
									3dce3b189a
								
							
						
					
					
						commit
						8f25fda19a
					
				
					 2 changed files with 17 additions and 18 deletions
				
			
		|  | @ -124,7 +124,7 @@ public class MainActivity extends BaseActivity | |||
|         setContentView(binding.getRoot()); | ||||
|         setSupportActionBar(binding.toolbarBinding.toolbar); | ||||
|         tabLayout = binding.fragmentMainNavTabLayout; | ||||
|         loadLocale(); | ||||
| //        loadLocale(); | ||||
| 
 | ||||
|         binding.toolbarBinding.toolbar.setNavigationOnClickListener(view -> { | ||||
|             onSupportNavigateUp(); | ||||
|  | @ -485,13 +485,13 @@ public class MainActivity extends BaseActivity | |||
|     /** | ||||
|      * Load default language in onCreate from SharedPreferences | ||||
|      */ | ||||
|     private void loadLocale() { | ||||
|         final SharedPreferences preferences = getSharedPreferences("Settings", | ||||
|             Activity.MODE_PRIVATE); | ||||
|         final String language = preferences.getString("language", ""); | ||||
|         final SettingsFragment settingsFragment = new SettingsFragment(); | ||||
|         settingsFragment.setLocale(this, language); | ||||
|     } | ||||
| //    private void loadLocale() { | ||||
| //        final SharedPreferences preferences = getSharedPreferences("Settings", | ||||
| //            Activity.MODE_PRIVATE); | ||||
| //        final String language = preferences.getString("language", ""); | ||||
| //        final SettingsFragment settingsFragment = new SettingsFragment(); | ||||
| //        settingsFragment.setLocale(this, language); | ||||
| //    } | ||||
| 
 | ||||
|     public NavTabLayout.OnNavigationItemSelectedListener getNavListener() { | ||||
|         return navListener; | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ package fr.free.nrw.commons.settings; | |||
| import static android.content.Context.MODE_PRIVATE; | ||||
| 
 | ||||
| import android.Manifest.permission; | ||||
| import android.annotation.SuppressLint; | ||||
| import android.app.Activity; | ||||
| import android.app.Dialog; | ||||
| import android.content.Intent; | ||||
|  | @ -21,6 +22,8 @@ import android.widget.TextView; | |||
| import androidx.activity.result.ActivityResultCallback; | ||||
| import androidx.activity.result.ActivityResultLauncher; | ||||
| import androidx.activity.result.contract.ActivityResultContracts; | ||||
| import androidx.appcompat.app.AppCompatDelegate; | ||||
| import androidx.core.os.LocaleListCompat; | ||||
| import androidx.preference.ListPreference; | ||||
| import androidx.preference.MultiSelectListPreference; | ||||
| import androidx.preference.Preference; | ||||
|  | @ -267,6 +270,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|         ); | ||||
|     } | ||||
| 
 | ||||
|     @SuppressLint("RestrictedApi") | ||||
|     @Override | ||||
|     protected Adapter onCreateAdapter(final PreferenceScreen preferenceScreen) { | ||||
|         return new PreferenceGroupAdapter(preferenceScreen) { | ||||
|  | @ -314,7 +318,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
| 
 | ||||
|             assert languageCode != null; | ||||
|             if (languageCode.equals("")) { | ||||
|                 selectedLanguages.put(0, Locale.getDefault().getLanguage()); | ||||
|                 selectedLanguages.put(0, AppCompatDelegate.getApplicationLocales().toLanguageTags()); | ||||
|             } else { | ||||
|                 selectedLanguages.put(0, languageCode); | ||||
|             } | ||||
|  | @ -396,14 +400,11 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|                     recentLanguagesDao.deleteRecentLanguage(languageCode); | ||||
|                 } | ||||
|                 recentLanguagesDao.addRecentLanguage(new Language(languageName, languageCode)); | ||||
|                 saveLanguageValue(languageCode, keyListPreference); | ||||
|                 Locale defLocale = createLocale(languageCode); | ||||
|                 if(keyListPreference.equals("appUiDefaultLanguagePref")) { | ||||
|                     appUiLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale)); | ||||
|                     setLocale(requireActivity(), languageCode); | ||||
|                     getActivity().recreate(); | ||||
|                     final Intent intent = new Intent(getActivity(), MainActivity.class); | ||||
|                     startActivity(intent); | ||||
|                     LocaleListCompat appLocale = LocaleListCompat.forLanguageTags(languageCode); | ||||
|                     AppCompatDelegate.setApplicationLocales(appLocale); | ||||
|                 }else if(keyListPreference.equals("descriptionDefaultLanguagePref")){ | ||||
|                     descriptionLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale)); | ||||
|                 } | ||||
|  | @ -468,10 +469,8 @@ public class SettingsFragment extends PreferenceFragmentCompat { | |||
|         final Locale defLocale = createLocale(recentLanguageCode); | ||||
|         if (keyListPreference.equals("appUiDefaultLanguagePref")) { | ||||
|             appUiLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale)); | ||||
|             setLocale(requireActivity(), recentLanguageCode); | ||||
|             getActivity().recreate(); | ||||
|             final Intent intent = new Intent(getActivity(), MainActivity.class); | ||||
|             startActivity(intent); | ||||
|             LocaleListCompat appLocale = LocaleListCompat.forLanguageTags(recentLanguageCode); | ||||
|             AppCompatDelegate.setApplicationLocales(appLocale); | ||||
|         } else { | ||||
|             descriptionLanguageListPreference.setSummary(defLocale.getDisplayLanguage(defLocale)); | ||||
|         } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 u7759158
						u7759158