Explorar o código

Added smart connect functionality and on click working, connecting smart server and vpn

Khubaib hai 8 meses
pai
achega
25be9522fa

+ 1 - 1
.idea/deploymentTargetSelector.xml

@@ -4,7 +4,7 @@
     <selectionStates>
       <SelectionState runConfigName="app">
         <option name="selectionMode" value="DROPDOWN" />
-        <DropdownSelection timestamp="2024-08-08T12:33:15.921637610Z">
+        <DropdownSelection timestamp="2024-08-08T12:36:57.521314019Z">
           <Target type="DEFAULT_BOOT">
             <handle>
               <DeviceId pluginId="LocalEmulator" identifier="path=/home/ubuntu/.android/avd/Television_1080p_API_31.avd" />

+ 36 - 8
app/src/main/java/com/vpn/fastestvpnservice/screensTV/HomeScreenTV.kt

@@ -769,9 +769,6 @@ fun HomeTV(
                     else colorResource(id = R.color.blue_text)
                     Button(
                         onClick = {
-//                                  Toast.makeText(
-//                                      context, "Smart onClick{}", Toast.LENGTH_SHORT
-//                                  ).show()
 //                            Log.d("test_button", "onClick Smart Connect ${smartServer?.server_name}")
 //                            basePreferenceHelper.setSmartServerObject(smartServer)
 //                            if (isConnect == App.CONNECTED) {
@@ -818,11 +815,42 @@ fun HomeTV(
                                 isSmartButtonFocused = it.isFocused
                             }
 //                            .focusable()
-//                            .clickable {
-//                                Toast.makeText(
-//                                    context, "Smart clickable{}", Toast.LENGTH_SHORT
-//                                ).show()
-//                            }
+                            .clickable {
+                                Log.d("test_button", "onClick Smart Connect ${smartServer?.server_name}")
+                                basePreferenceHelper.setSmartServerObject(smartServer)
+                                if (isConnect == App.CONNECTED) {
+                                    Log.d("isConnect_State_vpn", "stopVPN")
+                                    val lastServer = basePreferenceHelper.getConnectedServer()
+                                    Log.d("test_conn_ser_obj", "smart => ${lastServer?.server_name} ${smartServer?.server_name}")
+                                    if (lastServer?.id != smartServer?.id) {
+                                        isServerDialog.value = true
+                                        if (smartServer != null) {
+                                            serverObj.value = smartServer
+                                        }
+                                    }
+                                    else {
+                                        vpnConnectionsUtil.stopVpn()
+                                    }
+
+
+//                                vpnConnectionsUtil.stopVpn()
+//                                Handler().postDelayed(Runnable {
+//                                    vpnConnectionsUtil.startVpn()
+//                                }, 500)
+//                                homeViewModel.getIp()
+                                }
+                                else if (isConnect == App.CONNECTING) {
+                                    vpnConnectionsUtil.stopVpn()
+                                }
+                                else if (isConnect == App.DISCONNECTED) {
+                                    Log.d("isConnect_State_vpn", "startVPN")
+                                    basePreferenceHelper.setConnectedServer(smartServer)
+                                    if (smartServer != null) {
+                                        serverListViewModelSplash.setRecentlyConnectedServer(smartServer)
+                                    }
+                                    vpnConnectionsUtil.startVpn()
+                                }
+                            }
                             .fillMaxWidth()
                             .height(35.dp),
                         shape = RoundedCornerShape(16.dp),