|
@@ -6,6 +6,7 @@ import android.content.Context
|
|
import android.content.Intent
|
|
import android.content.Intent
|
|
import android.os.Build
|
|
import android.os.Build
|
|
import android.os.Bundle
|
|
import android.os.Bundle
|
|
|
|
+import android.os.Handler
|
|
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
|
|
@@ -115,9 +116,12 @@ import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
|
|
import com.vpn.fastestvpnservice.navigation.navigationAnimation
|
|
import com.vpn.fastestvpnservice.navigation.navigationAnimation
|
|
import com.vpn.fastestvpnservice.sealedClass.BottomBarScreen
|
|
import com.vpn.fastestvpnservice.sealedClass.BottomBarScreen
|
|
import com.vpn.fastestvpnservice.sealedClass.Screen
|
|
import com.vpn.fastestvpnservice.sealedClass.Screen
|
|
|
|
+import com.vpn.fastestvpnservice.utils.VPNConnectionsUtil
|
|
|
|
+import com.vpn.fastestvpnservice.viewmodels.HomeViewModel
|
|
import com.vpn.fastestvpnservice.viewmodels.SearchListViewModel
|
|
import com.vpn.fastestvpnservice.viewmodels.SearchListViewModel
|
|
import com.vpn.fastestvpnservice.viewmodels.ServerListViewModel
|
|
import com.vpn.fastestvpnservice.viewmodels.ServerListViewModel
|
|
import com.vpn.fastestvpnservice.viewmodels.SplashViewModel
|
|
import com.vpn.fastestvpnservice.viewmodels.SplashViewModel
|
|
|
|
+import de.blinkt.openvpn.core.App
|
|
import kotlinx.coroutines.launch
|
|
import kotlinx.coroutines.launch
|
|
|
|
|
|
@OptIn(ExperimentalMaterial3Api::class)
|
|
@OptIn(ExperimentalMaterial3Api::class)
|
|
@@ -265,6 +269,12 @@ fun ColumnScope.AddRowSwitch(icon: Int, text: String) {
|
|
)
|
|
)
|
|
}
|
|
}
|
|
Spacer(modifier = Modifier.weight(1f))
|
|
Spacer(modifier = Modifier.weight(1f))
|
|
|
|
+ val scope = rememberCoroutineScope()
|
|
|
|
+ val homeViewModel: HomeViewModel = viewModel{
|
|
|
|
+ HomeViewModel(context, scope)
|
|
|
|
+ }
|
|
|
|
+ val isConnect: Int? = homeViewModel.isConnect.observeAsState().value
|
|
|
|
+// val vpnConnectionsUtil = VPNConnectionsUtil(context, act, homeViewModel)
|
|
|
|
|
|
Surface(
|
|
Surface(
|
|
modifier = Modifier
|
|
modifier = Modifier
|
|
@@ -278,7 +288,13 @@ fun ColumnScope.AddRowSwitch(icon: Int, text: String) {
|
|
onCheckedChange = {
|
|
onCheckedChange = {
|
|
isSwitch = it
|
|
isSwitch = it
|
|
basePreferenceHelper.saveAdBlockState(it)
|
|
basePreferenceHelper.saveAdBlockState(it)
|
|
- },
|
|
|
|
|
|
+ if (isConnect == App.CONNECTED || isConnect == App.CONNECTING) {
|
|
|
|
+ Log.d("isConnect_State_vpn", "stopVPN")
|
|
|
|
+ vpnConnectionsUtil.stopVpn()
|
|
|
|
+ Handler().postDelayed(Runnable {
|
|
|
|
+ vpnConnectionsUtil.startVpn()
|
|
|
|
+ }, 500)
|
|
|
|
+ } },
|
|
modifier = Modifier.scale(0.8F),
|
|
modifier = Modifier.scale(0.8F),
|
|
colors = SwitchDefaults.colors(
|
|
colors = SwitchDefaults.colors(
|
|
checkedThumbColor = Color.White,
|
|
checkedThumbColor = Color.White,
|