|
@@ -1,6 +1,8 @@
|
|
package com.vpn.fastestvpnservice.screens.bottomNavBarScreens
|
|
package com.vpn.fastestvpnservice.screens.bottomNavBarScreens
|
|
|
|
|
|
import android.content.res.Configuration
|
|
import android.content.res.Configuration
|
|
|
|
+import android.os.Handler
|
|
|
|
+import android.os.Looper
|
|
import android.util.Log
|
|
import android.util.Log
|
|
import android.widget.Toast
|
|
import android.widget.Toast
|
|
import androidx.compose.animation.AnimatedVisibility
|
|
import androidx.compose.animation.AnimatedVisibility
|
|
@@ -35,6 +37,7 @@ import androidx.compose.runtime.livedata.observeAsState
|
|
import androidx.compose.runtime.mutableFloatStateOf
|
|
import androidx.compose.runtime.mutableFloatStateOf
|
|
import androidx.compose.runtime.mutableStateOf
|
|
import androidx.compose.runtime.mutableStateOf
|
|
import androidx.compose.runtime.remember
|
|
import androidx.compose.runtime.remember
|
|
|
|
+import androidx.compose.runtime.rememberCoroutineScope
|
|
import androidx.compose.runtime.setValue
|
|
import androidx.compose.runtime.setValue
|
|
import androidx.compose.ui.Alignment
|
|
import androidx.compose.ui.Alignment
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.Modifier
|
|
@@ -62,7 +65,10 @@ import com.vpn.fastestvpnservice.R
|
|
import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
|
|
import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
|
|
import com.vpn.fastestvpnservice.navigation.navigationAnimation
|
|
import com.vpn.fastestvpnservice.navigation.navigationAnimation
|
|
import com.vpn.fastestvpnservice.sealedClass.Screen
|
|
import com.vpn.fastestvpnservice.sealedClass.Screen
|
|
|
|
+import com.vpn.fastestvpnservice.utils.VPNConnectionsUtil
|
|
import com.vpn.fastestvpnservice.viewmodels.AccountViewModel
|
|
import com.vpn.fastestvpnservice.viewmodels.AccountViewModel
|
|
|
|
+import com.vpn.fastestvpnservice.viewmodels.HomeViewModel
|
|
|
|
+import de.blinkt.openvpn.core.App
|
|
import kotlinx.coroutines.delay
|
|
import kotlinx.coroutines.delay
|
|
|
|
|
|
//var LocalLoggedOut = staticCompositionLocalOf<Boolean> { false }
|
|
//var LocalLoggedOut = staticCompositionLocalOf<Boolean> { false }
|
|
@@ -225,6 +231,7 @@ fun Account(navHostController: NavHostController,
|
|
|
|
|
|
val logoutResponse = accountViewModel.liveDataLogout.observeAsState().value
|
|
val logoutResponse = accountViewModel.liveDataLogout.observeAsState().value
|
|
logoutResponse?.let {
|
|
logoutResponse?.let {
|
|
|
|
+ Log.d("test_button_log", "logout api response")
|
|
accountViewModel.setLogoutStatus(false)
|
|
accountViewModel.setLogoutStatus(false)
|
|
if (it) {
|
|
if (it) {
|
|
Log.d("test_api_response","Logout live: $logoutResponse")
|
|
Log.d("test_api_response","Logout live: $logoutResponse")
|
|
@@ -401,7 +408,11 @@ fun BoxScope.LogoutDialog(
|
|
basePreferenceHelper: BasePreferenceHelper,
|
|
basePreferenceHelper: BasePreferenceHelper,
|
|
accountViewModel: AccountViewModel
|
|
accountViewModel: AccountViewModel
|
|
) {
|
|
) {
|
|
-
|
|
|
|
|
|
+ val context = LocalContext.current
|
|
|
|
+ val scope = rememberCoroutineScope()
|
|
|
|
+ val homeViewModel: HomeViewModel = viewModel {
|
|
|
|
+ HomeViewModel(context, scope)
|
|
|
|
+ }
|
|
Surface(
|
|
Surface(
|
|
color = colorResource(id = R.color.white),
|
|
color = colorResource(id = R.color.white),
|
|
modifier = Modifier
|
|
modifier = Modifier
|
|
@@ -465,12 +476,24 @@ fun BoxScope.LogoutDialog(
|
|
|
|
|
|
Button(
|
|
Button(
|
|
onClick = {
|
|
onClick = {
|
|
- Log.d("test_button", "Yes")
|
|
|
|
|
|
+ Log.d("test_button", "Logout Yes")
|
|
|
|
|
|
if (isLogout) {
|
|
if (isLogout) {
|
|
Log.d("test_api_response","Logout click = $isLogout")
|
|
Log.d("test_api_response","Logout click = $isLogout")
|
|
|
|
+
|
|
|
|
+ val connectState = homeViewModel.isConnect.value
|
|
|
|
+ if (connectState == App.CONNECTED || connectState == App.CONNECTING) {
|
|
|
|
+ Log.d("test_button_log", "connectState = $connectState, act = $act")
|
|
|
|
+ Handler(Looper.getMainLooper()).postDelayed({
|
|
|
|
+ val wg = VPNConnectionsUtil(context, act ,homeViewModel)
|
|
|
|
+ wg.stopVpn()
|
|
|
|
+ }, 400)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Log.d("test_button_log", "logout api")
|
|
accountViewModel.setLogoutStatus(true)
|
|
accountViewModel.setLogoutStatus(true)
|
|
accountViewModel.logout()
|
|
accountViewModel.logout()
|
|
|
|
+
|
|
onCancel()
|
|
onCancel()
|
|
}
|
|
}
|
|
|
|
|