Parcourir la source

Fixed connection states of IKEv2 protocol...

Khubaib il y a 1 an
Parent
commit
115ca11a88

BIN
app/release/app-release.apk


+ 15 - 21
app/src/main/java/com/vpn/fastestvpnservice/utils/VPNConnectionsUtil.kt

@@ -429,13 +429,12 @@ class VPNConnectionsUtil: VpnStatus.StateListener {
 
 
             /*Disconnect IKEV2*/
             /*Disconnect IKEV2*/
             if (basePreferenceHelper.getProtocol().title.contentEquals(AppEnum.IKEV2_PROTOCOL.key)) {
             if (basePreferenceHelper.getProtocol().title.contentEquals(AppEnum.IKEV2_PROTOCOL.key)) {
-                Log.d("App stop ikev2", "1")
+                Log.d("isConnect_State_vpn", "Disconnect IKEV2")
                 val intent = Intent(context, VpnProfileControlActivity::class.java)
                 val intent = Intent(context, VpnProfileControlActivity::class.java)
-                Log.d("App stop ikev2", "2")
                 intent.action = VpnProfileControlActivity.DISCONNECT
                 intent.action = VpnProfileControlActivity.DISCONNECT
-                Log.d("App stop ikev2", "3")
                 context.startActivity(intent)
                 context.startActivity(intent)
-                Log.d("App stop ikev2", "4")
+                homeViewModel.setConnectState(App.DISCONNECTED)
+
             }
             }
             /*Disconnect Wireguard*/
             /*Disconnect Wireguard*/
             else if (basePreferenceHelper.getProtocol().title.toLowerCase()
             else if (basePreferenceHelper.getProtocol().title.toLowerCase()
@@ -525,14 +524,21 @@ class VPNConnectionsUtil: VpnStatus.StateListener {
                 when (action) {
                 when (action) {
                     CharonVpnService.ACTION_VPN_CONNECTED -> {
                     CharonVpnService.ACTION_VPN_CONNECTED -> {
                         val connectState = homeViewModel.isConnect.value
                         val connectState = homeViewModel.isConnect.value
+                        App.connection_status = App.CONNECTION_STATE_CONNECTED
+                        Log.d("ikev2_rec_conn", "ACTION_VPN_CONNECTED $connectState")
 
 
+                        if (connectState == 1) {
+                            Log.d("ikev2_rec_conn", "setConnectState(2) $connectState")
+                            homeViewModel.setConnectState(App.CONNECTED)
+                        }
+                        else if (connectState == 0) {
+                            Log.d("ikev2_rec_conn", "setConnectState(0) $connectState")
+                            homeViewModel.setConnectState(App.DISCONNECTED)
+                        }
                         Log.d("vpnConnectionCall_ip", "ACTION_VPN_CONNECTED $connectState")
                         Log.d("vpnConnectionCall_ip", "ACTION_VPN_CONNECTED $connectState")
-                        App.connection_status = App.CONNECTION_STATE_CONNECTED
-                        homeViewModel.setConnectState(App.CONNECTED)
 
 
-//                        vpnConnectionCallBacks.onVpnConnected()
-//                        MainActivity.vpnConnectionCallBacks?.onVpnConnected()
-//
+                        val status = isVPNConnected()
+                        Log.d("vpnConnectionCall_ip", "isVPNConnected $status")
 //                        val widgetIntent1 = Intent(context, SimpleAppWidget::class.java)
 //                        val widgetIntent1 = Intent(context, SimpleAppWidget::class.java)
 //                        widgetIntent1.action = SimpleAppWidget.ACTION_CONNECT_VPN
 //                        widgetIntent1.action = SimpleAppWidget.ACTION_CONNECT_VPN
 //                        context?.sendBroadcast(widgetIntent1)
 //                        context?.sendBroadcast(widgetIntent1)
@@ -554,24 +560,15 @@ class VPNConnectionsUtil: VpnStatus.StateListener {
                             App.connection_status = App.CONNECTION_STATE_DISCONNECTED
                             App.connection_status = App.CONNECTION_STATE_DISCONNECTED
                             homeViewModel.setConnectState(App.DISCONNECTED)
                             homeViewModel.setConnectState(App.DISCONNECTED)
                         }
                         }
-
-//                        vpnConnectionCallBacks.onVpnDisconnected()
-//                        MainActivity.vpnConnectionCallBacks?.onVpnDisconnected()
-//
 //                        val widgetIntent1 = Intent(context, SimpleAppWidget::class.java)
 //                        val widgetIntent1 = Intent(context, SimpleAppWidget::class.java)
 //                        widgetIntent1.action = SimpleAppWidget.ACTION_DISCONNECT_VPN
 //                        widgetIntent1.action = SimpleAppWidget.ACTION_DISCONNECT_VPN
 //                        context?.sendBroadcast(widgetIntent1)
 //                        context?.sendBroadcast(widgetIntent1)
-
                         homeViewModel.getIp()
                         homeViewModel.getIp()
                     }
                     }
                     CharonVpnService.ACTION_VPN_CONNECTING -> {
                     CharonVpnService.ACTION_VPN_CONNECTING -> {
                         Log.d("vpnConnectionCall_ip", "ACTION_VPN_CONNECTING")
                         Log.d("vpnConnectionCall_ip", "ACTION_VPN_CONNECTING")
                         App.connection_status = App.CONNECTION_STATE_CONNECTING
                         App.connection_status = App.CONNECTION_STATE_CONNECTING
                         homeViewModel.setConnectState(App.CONNECTING)
                         homeViewModel.setConnectState(App.CONNECTING)
-
-//                        vpnConnectionCallBacks.onVpnConnecting()
-//                        MainActivity.vpnConnectionCallBacks?.onVpnConnecting()
-//
 //                        val widgetIntent1 = Intent(context, SimpleAppWidget::class.java)
 //                        val widgetIntent1 = Intent(context, SimpleAppWidget::class.java)
 //                        widgetIntent1.action = SimpleAppWidget.ACTION_CONNECTING_VPN
 //                        widgetIntent1.action = SimpleAppWidget.ACTION_CONNECTING_VPN
 //                        context?.sendBroadcast(widgetIntent1)
 //                        context?.sendBroadcast(widgetIntent1)
@@ -579,9 +576,6 @@ class VPNConnectionsUtil: VpnStatus.StateListener {
                     CharonVpnService.ACTION_VPN_SERVER_NOT_RESPONDING -> {
                     CharonVpnService.ACTION_VPN_SERVER_NOT_RESPONDING -> {
                         Log.d("vpnConnectionCall_ip", "ACTION_VPN_SERVER_NOT_RESPONDING")
                         Log.d("vpnConnectionCall_ip", "ACTION_VPN_SERVER_NOT_RESPONDING")
                         App.connection_status = App.CONNECTION_STATE_SERVER_NOT_RESPONDING
                         App.connection_status = App.CONNECTION_STATE_SERVER_NOT_RESPONDING
-
-//                        vpnConnectionCallBacks.onServerNotResponding()
-//                        MainActivity.vpnConnectionCallBacks?.onServerNotResponding()
                     }
                     }
                 }
                 }
             }
             }