Browse Source

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 months ago
parent
commit
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