Просмотр исходного кода

logged out on validate password if status false

Khubaib 1 год назад
Родитель
Сommit
e34efcf634

+ 1 - 1
app/src/main/java/com/vpn/fastestvpnservice/navigation/BottomBarNavGraph.kt

@@ -59,7 +59,7 @@ fun BottomBarNavGraph(navHostController: NavHostController,
             ) {
 
             composable(route = BottomBarScreen.Home.route) {
-                Home(navHostController = navHostController, activity)
+                Home(navHostController = navHostController, activity, settingsNavHostController)
             }
             composable(route = BottomBarScreen.Settings.route) {
                 Settings(navHostController = navHostController)

+ 19 - 13
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/HomeScreen.kt

@@ -239,7 +239,7 @@ lateinit var vpnConnectionsUtil: VPNConnectionsUtil
 
 @OptIn(ExperimentalFoundationApi::class, ExperimentalMaterial3Api::class)
 @Composable
-fun Home(navHostController: NavHostController, activity: ComponentActivity) {
+fun Home(navHostController: NavHostController, activity: ComponentActivity, settingsNavHostController: NavHostController) {
 
     Log.d("OnChangeProtocol", "Home called!")
     navHostController1 = navHostController
@@ -340,23 +340,29 @@ fun Home(navHostController: NavHostController, activity: ComponentActivity) {
     }
 
     val ip = homeViewModel.mutableLiveDataIpInfo.observeAsState().value
-    val validateResponse = homeViewModel._mutableLiveDataValidate.observeAsState().value
+    val validateResponse = homeViewModel.liveDataValidate.observeAsState().value
     validateResponse?.let {
-        Log.d("test_api_validate", it.message.toString())
-        homeViewModel._mutableLiveDataValidate.value = null
-    }
-
-    LaunchedEffect(key1 = Unit){
-        homeViewModel.validatePassword(
-            prefHelper.getUser()?.userinfo?.email.toString(),
-            prefHelper.getPassword().toString(),
-            "android",
-            android.os.Build.VERSION.RELEASE
-        )
+        Log.d("test_api_validate", "home => ${it.status} ${it.message}")
 
+        if (!it.status) {
+            basePreferenceHelper.setLoggedInState(false)
+            basePreferenceHelper.clearAllData()
+            settingsNavHostController.popBackStack()
+            settingsNavHostController.navigate(Screen.Started.route)
+        }
 
+        homeViewModel._mutableLiveDataValidate.value = null
     }
 
+//    LaunchedEffect(key1 = Unit){
+//        homeViewModel.validatePassword(
+//            prefHelper.getUser()?.userinfo?.email.toString(),
+//            prefHelper.getPassword().toString(),
+//            "android",
+//            android.os.Build.VERSION.RELEASE
+//        )
+//    }
+
     Box(
         modifier = Modifier
             .background(MaterialTheme.colorScheme.background)

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

@@ -100,7 +100,7 @@ class HomeViewModel constructor(context: Context, scope: CoroutineScope): ViewMo
                         val type = object : TypeToken<DataResponse<TokenResponse?>?>() {}.type
                         val data = gson.fromJson<DataResponse<TokenResponse>>(jsonString, type)
                         _mutableLiveDataValidate.value = data
-                        Log.d("test_api_validate", "data = ${data.message}")
+                        Log.d("test_api_validate", "data = ${data.status} ${data.message}")
 
                     } catch (ex: Exception) {
                         Log.d("test_api_response", "validatePassword onSuccess: catch")