mirror of
				https://github.com/SimpleMobileTools/Simple-Launcher.git
				synced 2025-06-05 21:59:15 +02:00 
			
		
		
		
	allow changing the app language on Android 13+
This commit is contained in:
		| @@ -3,12 +3,14 @@ package com.simplemobiletools.launcher.activities | ||||
| import android.os.Bundle | ||||
| import com.simplemobiletools.commons.extensions.* | ||||
| import com.simplemobiletools.commons.helpers.NavigationIcon | ||||
| import com.simplemobiletools.commons.helpers.isTiramisuPlus | ||||
| import com.simplemobiletools.commons.models.FAQItem | ||||
| import com.simplemobiletools.launcher.BuildConfig | ||||
| import com.simplemobiletools.launcher.R | ||||
| import com.simplemobiletools.launcher.extensions.config | ||||
| import kotlinx.android.synthetic.main.activity_settings.* | ||||
| import java.util.* | ||||
| import kotlin.system.exitProcess | ||||
|  | ||||
| class SettingsActivity : SimpleActivity() { | ||||
|     override fun onCreate(savedInstanceState: Bundle?) { | ||||
| @@ -24,6 +26,7 @@ class SettingsActivity : SimpleActivity() { | ||||
|         setupPurchaseThankYou() | ||||
|         setupCustomizeColors() | ||||
|         setupUseEnglish() | ||||
|         setupLanguage() | ||||
|         updateTextColors(settings_holder) | ||||
|  | ||||
|         arrayOf(settings_color_customization_label, settings_general_settings_label).forEach { | ||||
| @@ -54,6 +57,7 @@ class SettingsActivity : SimpleActivity() { | ||||
|         // make sure the corners at ripple fit the stroke rounded corners | ||||
|         if (settings_purchase_thank_you_holder.isGone()) { | ||||
|             settings_use_english_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) | ||||
|             settings_language_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) | ||||
|         } | ||||
|  | ||||
|         settings_purchase_thank_you_holder.setOnClickListener { | ||||
| @@ -68,13 +72,20 @@ class SettingsActivity : SimpleActivity() { | ||||
|     } | ||||
|  | ||||
|     private fun setupUseEnglish() { | ||||
|         settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || Locale.getDefault().language != "en") | ||||
|         settings_use_english_holder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus()) | ||||
|         settings_use_english.isChecked = config.useEnglish | ||||
|  | ||||
|         settings_use_english_holder.setOnClickListener { | ||||
|             settings_use_english.toggle() | ||||
|             config.useEnglish = settings_use_english.isChecked | ||||
|             System.exit(0) | ||||
|             exitProcess(0) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private fun setupLanguage() { | ||||
|         settings_language.text = Locale.getDefault().displayLanguage | ||||
|         settings_language_holder.beVisibleIf(isTiramisuPlus()) | ||||
|         settings_language_holder.setOnClickListener { | ||||
|             launchChangeAppLanguageIntent() | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" | ||||
|     xmlns:tools="http://schemas.android.com/tools" | ||||
|     android:id="@+id/settings_coordinator" | ||||
|     android:layout_width="match_parent" | ||||
|     android:layout_height="match_parent"> | ||||
| @@ -113,6 +114,30 @@ | ||||
|                         android:text="@string/use_english_language" /> | ||||
|  | ||||
|                 </RelativeLayout> | ||||
|  | ||||
|                 <RelativeLayout | ||||
|                     android:id="@+id/settings_language_holder" | ||||
|                     style="@style/SettingsHolderTextViewStyle" | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:background="@drawable/ripple_background"> | ||||
|  | ||||
|                     <com.simplemobiletools.commons.views.MyTextView | ||||
|                         android:id="@+id/settings_language_label" | ||||
|                         style="@style/SettingsTextLabelStyle" | ||||
|                         android:layout_width="wrap_content" | ||||
|                         android:layout_height="wrap_content" | ||||
|                         android:text="@string/language" /> | ||||
|  | ||||
|                     <com.simplemobiletools.commons.views.MyTextView | ||||
|                         android:id="@+id/settings_language" | ||||
|                         style="@style/SettingsTextValueStyle" | ||||
|                         android:layout_width="wrap_content" | ||||
|                         android:layout_height="wrap_content" | ||||
|                         android:layout_below="@+id/settings_language_label" | ||||
|                         tools:text="English" /> | ||||
|  | ||||
|                 </RelativeLayout> | ||||
|             </LinearLayout> | ||||
|         </LinearLayout> | ||||
|     </androidx.core.widget.NestedScrollView> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user