|
@@ -1,5 +1,6 @@
|
|
|
package com.vpn.fastestvpnservice.screens.bottomNavBarScreens
|
|
|
|
|
|
+import android.content.Context
|
|
|
import android.content.res.Configuration
|
|
|
import android.util.Log
|
|
|
import android.widget.Toast
|
|
@@ -91,6 +92,7 @@ import com.vpn.fastestvpnservice.application.App
|
|
|
import com.vpn.fastestvpnservice.beans.Server
|
|
|
import com.vpn.fastestvpnservice.beans.isDarkTheme
|
|
|
import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
|
|
|
+import com.vpn.fastestvpnservice.interfaces.ServerCallbacks
|
|
|
import com.vpn.fastestvpnservice.sealedClass.BottomBarScreen
|
|
|
import com.vpn.fastestvpnservice.ui.theme.FastestVPNTheme
|
|
|
import com.vpn.fastestvpnservice.utils.Utils
|
|
@@ -99,6 +101,30 @@ import com.vpn.fastestvpnservice.viewmodels.HomeViewModel
|
|
|
import com.vpn.fastestvpnservice.viewmodels.ServerListViewModel
|
|
|
import com.vpn.fastestvpnservice.viewmodels.SplashViewModel
|
|
|
import com.wireguard.android.backend.GoBackend
|
|
|
+import kotlinx.coroutines.CoroutineScope
|
|
|
+
|
|
|
+lateinit var act: ComponentActivity
|
|
|
+
|
|
|
+ val onServer = object : ServerCallbacks {
|
|
|
+ @Composable
|
|
|
+ override fun onServerSelected(
|
|
|
+ context: Context, homeViewModel: HomeViewModel,
|
|
|
+ onClick: () -> Unit) {
|
|
|
+
|
|
|
+ Text(text = "Hi")
|
|
|
+ Log.d("ServerCallbacks", "onServerSelected called!")
|
|
|
+ Log.d("onServerSelected", "onServerSelected called")
|
|
|
+// homeViewModel._isConnect.value = true
|
|
|
+ val basePreferenceHelper = BasePreferenceHelper(context)
|
|
|
+// basePreferenceHelper.setConnectState(true)
|
|
|
+// homeViewModel.setConnectState(true)
|
|
|
+
|
|
|
+ val wg = WireGuardConnection(context, act ,homeViewModel)
|
|
|
+ wg.startVpn()
|
|
|
+ Log.d("isConnect_State", "onServerSelected ${homeViewModel.isConnect.value}")
|
|
|
+ onClick()
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
@OptIn(ExperimentalFoundationApi::class)
|
|
|
@Composable
|
|
@@ -106,6 +132,7 @@ fun Home(navHostController: NavHostController, activity: ComponentActivity) {
|
|
|
|
|
|
val context = LocalContext.current
|
|
|
val basePreferenceHelper = BasePreferenceHelper(context)
|
|
|
+ act = activity
|
|
|
|
|
|
// var isConnect by remember { mutableStateOf(basePreferenceHelper.getConnectState()) }
|
|
|
|
|
@@ -123,8 +150,10 @@ fun Home(navHostController: NavHostController, activity: ComponentActivity) {
|
|
|
var server: Server = Server()
|
|
|
val wireGuardConnection = WireGuardConnection(context, activity, homeViewModel)
|
|
|
|
|
|
- val isConnect: Boolean = homeViewModel.isConnect.observeAsState().value == true
|
|
|
- Log.d("isConnect_State", "$isConnect")
|
|
|
+ var isConnect: Boolean = homeViewModel.isConnect.observeAsState().value == true
|
|
|
+ Log.d("isConnect_State", "live: $isConnect")
|
|
|
+ isConnect = basePreferenceHelper.getConnectState()
|
|
|
+ Log.d("isConnect_State", "$isConnect prefs => ${basePreferenceHelper.getConnectState()}")
|
|
|
|
|
|
OnLifecycleEvent{owner, event ->
|
|
|
when(event) {
|
|
@@ -570,6 +599,18 @@ fun Home(navHostController: NavHostController, activity: ComponentActivity) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+}
|
|
|
+fun onServerSelected(context: Context, homeViewModel: HomeViewModel) {
|
|
|
+ Log.d("onServerSelected", "onServerSelected called")
|
|
|
+// homeViewModel._isConnect.value = true
|
|
|
+ val basePreferenceHelper = BasePreferenceHelper(context)
|
|
|
+// basePreferenceHelper.setConnectState(true)
|
|
|
+// homeViewModel.setConnectState(true)
|
|
|
+
|
|
|
+ val wg = WireGuardConnection(context, act ,homeViewModel)
|
|
|
+ wg.startVpn()
|
|
|
+ Log.d("isConnect_State", "onServerSelected ${homeViewModel.isConnect.value}")
|
|
|
}
|
|
|
|
|
|
@Composable
|