From 2183b7a53cce10407c4e5d945c59d37811f4d11c Mon Sep 17 00:00:00 2001 From: Emin Date: Wed, 5 Feb 2025 20:21:25 +0500 Subject: [PATCH] android: fix change language --- .../app/src/main/java/app/tourism/di/NetworkModule.kt | 2 +- .../app/tourism/ui/screens/language/LanguageScreen.kt | 3 +++ .../main/categories/categories/CategoriesViewModel.kt | 2 +- .../app/tourism/ui/screens/main/home/HomeViewModel.kt | 1 - .../src/main/java/app/tourism/utils/triggerRebirth.kt | 11 +++++++++++ 5 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 android/app/src/main/java/app/tourism/utils/triggerRebirth.kt diff --git a/android/app/src/main/java/app/tourism/di/NetworkModule.kt b/android/app/src/main/java/app/tourism/di/NetworkModule.kt index c28de5def4..1827153753 100644 --- a/android/app/src/main/java/app/tourism/di/NetworkModule.kt +++ b/android/app/src/main/java/app/tourism/di/NetworkModule.kt @@ -40,7 +40,7 @@ object NetworkModule { return OkHttpClient.Builder() .addInterceptor( HttpLoggingInterceptor() - .setLevel(HttpLoggingInterceptor.Level.BODY) + .setLevel(HttpLoggingInterceptor.Level.BASIC) ) .addInterceptor { chain -> val original = chain.request() diff --git a/android/app/src/main/java/app/tourism/ui/screens/language/LanguageScreen.kt b/android/app/src/main/java/app/tourism/ui/screens/language/LanguageScreen.kt index 77fb7666bc..66141528af 100644 --- a/android/app/src/main/java/app/tourism/ui/screens/language/LanguageScreen.kt +++ b/android/app/src/main/java/app/tourism/ui/screens/language/LanguageScreen.kt @@ -13,10 +13,12 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import app.organicmaps.R +import app.organicmaps.SplashActivity import app.tourism.ui.common.SingleChoiceCheckBoxes import app.tourism.ui.common.VerticalSpace import app.tourism.ui.common.nav.AppTopBar import app.tourism.utils.changeSystemAppLanguage +import app.tourism.utils.triggerRebirth @Composable fun LanguageScreen( @@ -47,6 +49,7 @@ fun LanguageScreen( val language = languages.first { it.name == name } vm.updateLanguage(language) changeSystemAppLanguage(context, language.code) + triggerRebirth(context, SplashActivity::class.java) } ) } diff --git a/android/app/src/main/java/app/tourism/ui/screens/main/categories/categories/CategoriesViewModel.kt b/android/app/src/main/java/app/tourism/ui/screens/main/categories/categories/CategoriesViewModel.kt index 300cb68283..5c48f8ffd7 100644 --- a/android/app/src/main/java/app/tourism/ui/screens/main/categories/categories/CategoriesViewModel.kt +++ b/android/app/src/main/java/app/tourism/ui/screens/main/categories/categories/CategoriesViewModel.kt @@ -22,7 +22,7 @@ import javax.inject.Inject @HiltViewModel class CategoriesViewModel @Inject constructor( - @ApplicationContext context: Context, + @ApplicationContext val context: Context, private val placesRepository: PlacesRepository, ) : ViewModel() { private val uiChannel = Channel() diff --git a/android/app/src/main/java/app/tourism/ui/screens/main/home/HomeViewModel.kt b/android/app/src/main/java/app/tourism/ui/screens/main/home/HomeViewModel.kt index a45ec77197..96e2e35187 100644 --- a/android/app/src/main/java/app/tourism/ui/screens/main/home/HomeViewModel.kt +++ b/android/app/src/main/java/app/tourism/ui/screens/main/home/HomeViewModel.kt @@ -23,7 +23,6 @@ import javax.inject.Inject @HiltViewModel class HomeViewModel @Inject constructor( - @ApplicationContext val context: Context, private val placesRepository: PlacesRepository ) : ViewModel() { private val uiChannel = Channel() diff --git a/android/app/src/main/java/app/tourism/utils/triggerRebirth.kt b/android/app/src/main/java/app/tourism/utils/triggerRebirth.kt new file mode 100644 index 0000000000..5a023a1c26 --- /dev/null +++ b/android/app/src/main/java/app/tourism/utils/triggerRebirth.kt @@ -0,0 +1,11 @@ +package app.tourism.utils + +import android.content.Context +import android.content.Intent + +fun triggerRebirth(context: Context, myClass: Class<*>?) { + val intent = Intent(context, myClass) + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK) + context.startActivity(intent) + Runtime.getRuntime().exit(0) +} \ No newline at end of file