|
@@ -145,14 +145,12 @@ lateinit var vpnConnectionsUtil: VPNConnectionsUtil
|
|
val basePreferenceHelper = BasePreferenceHelper(context)
|
|
val basePreferenceHelper = BasePreferenceHelper(context)
|
|
|
|
|
|
Log.d("ServerCallbacks", "onServerSelected called!")
|
|
Log.d("ServerCallbacks", "onServerSelected called!")
|
|
- Log.d("ServerCallbacks", "onServerSelected server = ${server.server_name}")
|
|
|
|
|
|
|
|
val lastServer = basePreferenceHelper.getConnectedServer()
|
|
val lastServer = basePreferenceHelper.getConnectedServer()
|
|
if (isServerDialogShown) {
|
|
if (isServerDialogShown) {
|
|
Log.d("ServerCallbacks", "onServerSelected true!")
|
|
Log.d("ServerCallbacks", "onServerSelected true!")
|
|
if (wg.isVPNConnected()) {
|
|
if (wg.isVPNConnected()) {
|
|
Log.d("ServerCallbacks", "onServerSelected isVPNConnected!")
|
|
Log.d("ServerCallbacks", "onServerSelected isVPNConnected!")
|
|
- Log.d("ServerCallbacks", "onServerSelected ${lastServer?.id} ${server?.id}")
|
|
|
|
if (lastServer?.id != server.id) {
|
|
if (lastServer?.id != server.id) {
|
|
isServerDialog.value = true
|
|
isServerDialog.value = true
|
|
serverObj.value = server
|
|
serverObj.value = server
|
|
@@ -160,7 +158,6 @@ lateinit var vpnConnectionsUtil: VPNConnectionsUtil
|
|
else {
|
|
else {
|
|
basePreferenceHelper.setConnectedServer(server)
|
|
basePreferenceHelper.setConnectedServer(server)
|
|
basePreferenceHelper.setServerObject(server)
|
|
basePreferenceHelper.setServerObject(server)
|
|
- Log.d("isConnect_State", "onServerSelected ${homeViewModel.isConnect.value}")
|
|
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
basePreferenceHelper.setConnectedServer(server)
|
|
basePreferenceHelper.setConnectedServer(server)
|
|
@@ -170,7 +167,6 @@ lateinit var vpnConnectionsUtil: VPNConnectionsUtil
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
wg.startVpn()
|
|
wg.startVpn()
|
|
- Log.d("isConnect_State", "onServerSelected ${homeViewModel.isConnect.value}")
|
|
|
|
}
|
|
}
|
|
MainActivity.isSelectedServersShown = true
|
|
MainActivity.isSelectedServersShown = true
|
|
|
|
|
|
@@ -178,16 +174,11 @@ lateinit var vpnConnectionsUtil: VPNConnectionsUtil
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- override fun onChangeProtocol(protocol: Protocol, context: Context) {
|
|
+ override fun onChangeProtocol(protocol: Protocol, context: Context, serverListViewModel: ServerListViewModel) {
|
|
val prefHelper = BasePreferenceHelper(context)
|
|
val prefHelper = BasePreferenceHelper(context)
|
|
val wg = VPNConnectionsUtil(context, act , homeViewModel1)
|
|
val wg = VPNConnectionsUtil(context, act , homeViewModel1)
|
|
protocolObj.value = protocol
|
|
protocolObj.value = protocol
|
|
|
|
|
|
-// Toast.makeText(
|
|
|
|
-// context, "Test", Toast.LENGTH_SHORT
|
|
|
|
-// ).show()
|
|
|
|
-
|
|
|
|
- Log.d("OnChangeProtocol", "OnChangeProtocol ${protocol.full_name} ${protocol.title}!")
|
|
|
|
if (getEnableProtocols(protocol.title, prefHelper)) {
|
|
if (getEnableProtocols(protocol.title, prefHelper)) {
|
|
Log.d("OnChangeProtocol", "getEnableProtocols yes!")
|
|
Log.d("OnChangeProtocol", "getEnableProtocols yes!")
|
|
|
|
|
|
@@ -199,12 +190,23 @@ lateinit var vpnConnectionsUtil: VPNConnectionsUtil
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
prefHelper.saveProtocol(protocol = protocol)
|
|
prefHelper.saveProtocol(protocol = protocol)
|
|
|
|
+
|
|
|
|
+ val lastServer = prefHelper.getConnectedServer()
|
|
|
|
+ val serverList = prefHelper.getServerData()
|
|
|
|
+
|
|
|
|
+ if (lastServer != null) {
|
|
|
|
+ val serverProtocol = serverListViewModel.getFilteredServerByProtocolChanged(serverList, lastServer, protocol)
|
|
|
|
+
|
|
|
|
+ if (serverProtocol.isFound) {
|
|
|
|
+ prefHelper.setServerObject(serverProtocol.server)
|
|
|
|
+ val lastServer1 = prefHelper.getServerObject()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- Log.d("OnChangeProtocol", "getEnableProtocols no! ${navHostController1.currentDestination}")
|
|
|
|
// Screen.Subscription.isTrue = true
|
|
// Screen.Subscription.isTrue = true
|
|
navHostController1.let {
|
|
navHostController1.let {
|
|
it.navigate(Screen.Subscription.route)
|
|
it.navigate(Screen.Subscription.route)
|
|
@@ -223,7 +225,6 @@ lateinit var vpnConnectionsUtil: VPNConnectionsUtil
|
|
val basePreferenceHelper = BasePreferenceHelper(context)
|
|
val basePreferenceHelper = BasePreferenceHelper(context)
|
|
if (basePreferenceHelper.getProtocol().index == 0) {
|
|
if (basePreferenceHelper.getProtocol().index == 0) {
|
|
Log.d("ServerNotResponding", "Auto -> ${wg.isBound}")
|
|
Log.d("ServerNotResponding", "Auto -> ${wg.isBound}")
|
|
-
|
|
|
|
} else {
|
|
} else {
|
|
Log.d("ServerNotResponding", "IKEv2 -> ${wg.isBound}")
|
|
Log.d("ServerNotResponding", "IKEv2 -> ${wg.isBound}")
|
|
Toast.makeText(
|
|
Toast.makeText(
|
|
@@ -290,13 +291,11 @@ fun Home(navHostController: NavHostController, activity: ComponentActivity) {
|
|
var filterServerByConnectionCount = Server()
|
|
var filterServerByConnectionCount = Server()
|
|
if (prefHelper.getServerObject() != null) {
|
|
if (prefHelper.getServerObject() != null) {
|
|
prefHelper.getServerObject()?.let {
|
|
prefHelper.getServerObject()?.let {
|
|
- Log.d("test_smart_server_n", "server nn = ${it.server_name}")
|
|
|
|
filterServerByConnectionCount = it
|
|
filterServerByConnectionCount = it
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
val smartServer = basePreferenceHelper.getSmartServerObject()
|
|
val smartServer = basePreferenceHelper.getSmartServerObject()
|
|
smartServer?.let {
|
|
smartServer?.let {
|
|
- Log.d("test_smart_server_n", "server = ${it.server_name}")
|
|
|
|
filterServerByConnectionCount = it
|
|
filterServerByConnectionCount = it
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -341,10 +340,6 @@ fun Home(navHostController: NavHostController, activity: ComponentActivity) {
|
|
}
|
|
}
|
|
|
|
|
|
val ip = homeViewModel.mutableLiveDataIpInfo.observeAsState().value
|
|
val ip = homeViewModel.mutableLiveDataIpInfo.observeAsState().value
|
|
- ip?.let {
|
|
|
|
- Log.d("test_api_response", "ip home = ${it.country}")
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
val validateResponse = homeViewModel._mutableLiveDataValidate.observeAsState().value
|
|
val validateResponse = homeViewModel._mutableLiveDataValidate.observeAsState().value
|
|
validateResponse?.let {
|
|
validateResponse?.let {
|
|
Log.d("test_api_validate", it.message.toString())
|
|
Log.d("test_api_validate", it.message.toString())
|
|
@@ -401,7 +396,8 @@ fun Home(navHostController: NavHostController, activity: ComponentActivity) {
|
|
if (isProtocolDialog.value) {
|
|
if (isProtocolDialog.value) {
|
|
ShowProtocolDialog(
|
|
ShowProtocolDialog(
|
|
basePreferenceHelper,
|
|
basePreferenceHelper,
|
|
- vpnConnectionsUtil
|
|
+ vpnConnectionsUtil,
|
|
|
|
+ serverListViewModel
|
|
)
|
|
)
|
|
}
|
|
}
|
|
|
|
|
|
@@ -912,7 +908,8 @@ fun BoxScope.ShowServerDialog(
|
|
@Composable
|
|
@Composable
|
|
fun BoxScope.ShowProtocolDialog(
|
|
fun BoxScope.ShowProtocolDialog(
|
|
prefHelper: BasePreferenceHelper,
|
|
prefHelper: BasePreferenceHelper,
|
|
- wg: VPNConnectionsUtil
|
|
+ wg: VPNConnectionsUtil,
|
|
|
|
+ serverListViewModel: ServerListViewModel
|
|
) {
|
|
) {
|
|
AlertDialog(
|
|
AlertDialog(
|
|
onDismissRequest = { isProtocolDialog.value = false },
|
|
onDismissRequest = { isProtocolDialog.value = false },
|
|
@@ -927,6 +924,23 @@ fun BoxScope.ShowProtocolDialog(
|
|
val oldProtocolTitle = if (selectedProtocol.index == 0) AppEnum.AUTO_PROTOCOL.key else selectedProtocol.title
|
|
val oldProtocolTitle = if (selectedProtocol.index == 0) AppEnum.AUTO_PROTOCOL.key else selectedProtocol.title
|
|
val newProtocolTitle = if (protocolObj.value.index == 0) AppEnum.AUTO_PROTOCOL.key else protocolObj.value.title
|
|
val newProtocolTitle = if (protocolObj.value.index == 0) AppEnum.AUTO_PROTOCOL.key else protocolObj.value.title
|
|
|
|
|
|
|
|
+ val serverList = prefHelper.getServerData()
|
|
|
|
+ var desiredServer = Server()
|
|
|
|
+ var isServerFound: Boolean = false
|
|
|
|
+
|
|
|
|
+ if (lastServer != null) {
|
|
|
|
+ val serverProtocol = serverListViewModel.getFilteredServerByProtocolChanged(serverList, lastServer,
|
|
|
|
+ protocolObj.value)
|
|
|
|
+
|
|
|
|
+ if (serverProtocol.isFound) {
|
|
|
|
+ desiredServer = serverProtocol.server
|
|
|
|
+ isServerFound = true
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Log.d("server_protocol", "Home: $isServerFound ${desiredServer.id} ${desiredServer.server_name} ${desiredServer.ip} ${desiredServer.protocol} ${desiredServer.remoteId}")
|
|
|
|
+
|
|
|
|
+
|
|
Surface(
|
|
Surface(
|
|
color = colorResource(id = R.color.white),
|
|
color = colorResource(id = R.color.white),
|
|
modifier = Modifier
|
|
modifier = Modifier
|
|
@@ -988,7 +1002,7 @@ fun BoxScope.ShowProtocolDialog(
|
|
Button(
|
|
Button(
|
|
onClick = {
|
|
onClick = {
|
|
Log.d("ServerCallbacks", "Yes")
|
|
Log.d("ServerCallbacks", "Yes")
|
|
- val server = prefHelper.getConnectedServer()
|
|
+ val server = if (isServerFound) desiredServer else prefHelper.getConnectedServer()
|
|
prefHelper.setServerObject(server)
|
|
prefHelper.setServerObject(server)
|
|
prefHelper.setConnectedServer(server)
|
|
prefHelper.setConnectedServer(server)
|
|
prefHelper.saveProtocol(protocol = protocolObj.value)
|
|
prefHelper.saveProtocol(protocol = protocolObj.value)
|