Преглед на файлове

Added splash API when changing language, on that response we update servers and recommended servers and sheet not closing when changed language therefore when user drag bottom sheet then sheet is closed

Khubaib преди 8 месеца
родител
ревизия
08b7f8531a

+ 3 - 3
app/src/main/java/com/vpn/fastestvpnservice/screens/SplashScreen.kt

@@ -137,13 +137,13 @@ fun Splash(navHostController: NavHostController) {
 //        splashViewModel.serverDataApi()
         delay(delay)
         if (isLoggedIn) {
+            if (::splashViewModelSplash.isInitialized) {
+                splashViewModelSplash.serverDataApi()
+            }
             if (::serverListViewModelSplash.isInitialized) {
                 serverListViewModelSplash.setRecommendedSmartServers()
                 serverListViewModelSplash.setCountryData()
             }
-            if (::splashViewModelSplash.isInitialized) {
-                splashViewModelSplash.serverDataApi()
-            }
             navHostController.popBackStack()
             navHostController.navigate(Screen.BottomBarMainScreen.route)
         } else {

+ 14 - 2
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/SettingsScreen.kt

@@ -256,6 +256,18 @@ fun Settings(navHostController: NavHostController, activity: ComponentActivity)
                     settingsString = it
                 }
 
+                val serversResponse = splashViewModelSplash.liveDataServerData.observeAsState().value
+                serversResponse?.let { data ->
+                    Log.d("test_lingual_splash", "serversResponse - in")
+                    if (data.status) {
+                        Log.d("test_lingual_splash", "serversResponse - true")
+                        serverListViewModelSplash.setRecommendedSmartServers()
+                        serverListViewModelSplash.setCountryData()
+                    }
+
+                    splashViewModelSplash.mutableLiveDataServerData.value = null
+                }
+
                 if (isLaunched) {
                     AlertDialog(
                         onDismissRequest = { isLaunched = false },
@@ -1236,7 +1248,7 @@ fun SelectLanguage(
                                         }
 
                                         splashViewModelSplash.serverDataApi()
-                                        isLanguageSheetOpen = false
+//                                        isLanguageSheetOpen = false
                                     },
                                 )
 //                                    .indication(
@@ -1274,7 +1286,7 @@ fun SelectLanguage(
                                     }
 
                                     splashViewModelSplash.serverDataApi()
-                                    isLanguageSheetOpen = false
+//                                    isLanguageSheetOpen = false
                                 },
                                 colors = RadioButtonDefaults.colors(
                                     selectedColor = colorResource(id = R.color.radio_button_blue),

+ 3 - 1
app/src/main/java/com/vpn/fastestvpnservice/viewmodels/SplashViewModel.kt

@@ -20,7 +20,9 @@ import java.io.InputStream
 import java.io.InputStreamReader
 
 class SplashViewModel constructor(context: Context): ViewModel() {
-    val mutableLiveDataServerData = MutableLiveData<DataResponseServers<ArrayList<ServerData>>>()
+    var mutableLiveDataServerData = MutableLiveData<DataResponseServers<ArrayList<ServerData>>>()
+    var liveDataServerData: LiveData<DataResponseServers<ArrayList<ServerData>>> = mutableLiveDataServerData
+
     var preferenceHelper: BasePreferenceHelper
     var context: Context