Przeglądaj źródła

After login or signup set default language to english-en

Khubaib 8 miesięcy temu
rodzic
commit
d10678cc82

+ 24 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/LoginScreen.kt

@@ -1,12 +1,16 @@
 package com.vpn.fastestvpnservice.screens
 package com.vpn.fastestvpnservice.screens
 
 
 import android.app.Activity
 import android.app.Activity
+import android.app.LocaleManager
 import android.content.Context
 import android.content.Context
 import android.content.Intent
 import android.content.Intent
 import android.content.res.Configuration
 import android.content.res.Configuration
 import android.location.Location
 import android.location.Location
+import android.os.Build
+import android.os.LocaleList
 import android.util.Log
 import android.util.Log
 import android.widget.Toast
 import android.widget.Toast
+import androidx.appcompat.app.AppCompatDelegate
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
 import androidx.compose.foundation.background
 import androidx.compose.foundation.border
 import androidx.compose.foundation.border
@@ -82,6 +86,7 @@ import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
 import androidx.compose.ui.unit.sp
+import androidx.core.os.LocaleListCompat
 import androidx.lifecycle.viewmodel.compose.viewModel
 import androidx.lifecycle.viewmodel.compose.viewModel
 import androidx.navigation.NavHostController
 import androidx.navigation.NavHostController
 import androidx.navigation.compose.rememberNavController
 import androidx.navigation.compose.rememberNavController
@@ -103,6 +108,7 @@ import com.vpn.fastestvpnservice.views.ShowCustomSnackBar
 import com.vpn.fastestvpnservice.widgets.SimpleAppWidget
 import com.vpn.fastestvpnservice.widgets.SimpleAppWidget
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.launch
+import java.util.Locale
 import kotlin.random.Random
 import kotlin.random.Random
 
 
 @OptIn(ExperimentalComposeUiApi::class)
 @OptIn(ExperimentalComposeUiApi::class)
@@ -709,6 +715,24 @@ fun ColumnScope.SignInButton(
 
 
                     }
                     }
 
 
+                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+                        context.getSystemService(LocaleManager::class.java).applicationLocales =
+                            LocaleList.forLanguageTags("en")
+                    }
+                    else {
+                        AppCompatDelegate.setApplicationLocales(
+                            LocaleListCompat.forLanguageTags(
+                                "en"
+                            )
+                        )
+                        context.resources.updateConfiguration(
+                            context.resources.configuration.apply {
+                                setLocale(Locale.forLanguageTag("en"))
+                            },
+                            context.resources.displayMetrics
+                        )
+                    }
+
                     splashViewModelSplash = viewModel {
                     splashViewModelSplash = viewModel {
                         SplashViewModel(context)
                         SplashViewModel(context)
                     }
                     }

+ 24 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/SignUpScreen.kt

@@ -1,11 +1,15 @@
 package com.vpn.fastestvpnservice.screens
 package com.vpn.fastestvpnservice.screens
 
 
 import android.app.Activity
 import android.app.Activity
+import android.app.LocaleManager
 import android.content.Context
 import android.content.Context
 import android.content.Intent
 import android.content.Intent
 import android.content.res.Configuration
 import android.content.res.Configuration
 import android.location.Location
 import android.location.Location
+import android.os.Build
+import android.os.LocaleList
 import android.util.Log
 import android.util.Log
+import androidx.appcompat.app.AppCompatDelegate
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
 import androidx.compose.foundation.background
 import androidx.compose.foundation.border
 import androidx.compose.foundation.border
@@ -80,6 +84,7 @@ import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
 import androidx.compose.ui.unit.sp
+import androidx.core.os.LocaleListCompat
 import androidx.lifecycle.viewmodel.compose.viewModel
 import androidx.lifecycle.viewmodel.compose.viewModel
 import androidx.navigation.NavHostController
 import androidx.navigation.NavHostController
 import androidx.navigation.compose.rememberNavController
 import androidx.navigation.compose.rememberNavController
@@ -102,6 +107,7 @@ import com.vpn.fastestvpnservice.views.ShowCustomSnackBar
 import com.vpn.fastestvpnservice.widgets.SimpleAppWidget
 import com.vpn.fastestvpnservice.widgets.SimpleAppWidget
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.launch
+import java.util.Locale
 
 
 @OptIn(ExperimentalComposeUiApi::class)
 @OptIn(ExperimentalComposeUiApi::class)
 @Composable
 @Composable
@@ -836,6 +842,24 @@ fun ColumnScope.SignUpButton(
 
 
                 }
                 }
 
 
+                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+                    context.getSystemService(LocaleManager::class.java).applicationLocales =
+                        LocaleList.forLanguageTags("en")
+                }
+                else {
+                    AppCompatDelegate.setApplicationLocales(
+                        LocaleListCompat.forLanguageTags(
+                            "en"
+                        )
+                    )
+                    context.resources.updateConfiguration(
+                        context.resources.configuration.apply {
+                            setLocale(Locale.forLanguageTag("en"))
+                        },
+                        context.resources.displayMetrics
+                    )
+                }
+
                 splashViewModelSplash = viewModel {
                 splashViewModelSplash = viewModel {
                     SplashViewModel(context)
                     SplashViewModel(context)
                 }
                 }