Parcourir la source

Updating and optimized list of auto connect trusted networks

Khubaib il y a 4 mois
Parent
commit
8417a168d5

+ 2 - 2
.idea/deploymentTargetSelector.xml

@@ -4,10 +4,10 @@
     <selectionStates>
       <SelectionState runConfigName="app">
         <option name="selectionMode" value="DROPDOWN" />
-        <DropdownSelection timestamp="2024-10-14T09:01:50.039609776Z">
+        <DropdownSelection timestamp="2024-10-15T11:21:45.517059827Z">
           <Target type="DEFAULT_BOOT">
             <handle>
-              <DeviceId pluginId="LocalEmulator" identifier="path=/home/ubuntu/.android/avd/Television_1080p_API_31.avd" />
+              <DeviceId pluginId="PhysicalDevice" identifier="serial=1C051FDF60048Z" />
             </handle>
           </Target>
         </DropdownSelection>

+ 15 - 2
app/src/main/java/com/vpn/fastestvpnservice/customItems/AutoConnectItem.kt

@@ -236,18 +236,22 @@ fun onClickAutoConnect(
     wifiList: AutoConnectModel,
     connectedWifiSsid: String
 ) {
-    val autoConnectWifiList = basePreferenceHelper.getAutoConnectList()
     val wifiListAdded = ArrayList<AutoConnectModel>()
+    val wifiListRemove = ArrayList<AutoConnectModel>()
     val wifiListState = settingsViewModel.liveDataConnectedWifi.value
 
     if (!isAddedWifi) {
         Log.d("autoconnect", "isAddedWifi inside")
         if (wifiListState != null) {
             wifiListAdded.addAll(wifiListState)
+            wifiListRemove.addAll(wifiListState)
         }
 
         if (wifiList.wifiName != connectedWifiSsid) {
             wifiListAdded.remove(wifiList)
+            wifiListRemove.remove(wifiList)
+
+            basePreferenceHelper.setAutoConnectList(wifiListAdded)
         } else {
             wifiListAdded.forEachIndexed { index, autoConnectModel ->
                 if (autoConnectModel.wifiName == wifiList.wifiName) {
@@ -255,8 +259,12 @@ fun onClickAutoConnect(
                         index,
                         AutoConnectModel(wifiList.wifiName, isAddedWifi)
                     )
+
+                    wifiListRemove.remove(wifiList)
                 }
             }
+
+            basePreferenceHelper.setAutoConnectList(wifiListRemove)
         }
 
     }
@@ -277,10 +285,15 @@ fun onClickAutoConnect(
         else {
             wifiListAdded.set(0, AutoConnectModel(wifiList.wifiName, isAddedWifi))
         }
+
+        basePreferenceHelper.setAutoConnectList(wifiListAdded)
     }
 
     Log.d("autoconnect", "wifiListAdded = ${wifiListAdded.size}")
 
-    basePreferenceHelper.setAutoConnectList(wifiListAdded)
+    Log.d("autoconnect_state", "wifiListAdded = ${wifiListAdded.toString()}")
+    Log.d("autoconnect_state", "wifiListRemove = ${wifiListRemove.toString()}")
+    Log.d("autoconnect_state", "wifiListState = ${wifiListState.toString()}")
+
     settingsViewModel.mutableLiveDataConnectedWifi.value = wifiListAdded
 }

+ 4 - 2
app/src/main/java/com/vpn/fastestvpnservice/screens/settingsScreenAll/AutoConnectScreen.kt

@@ -76,7 +76,7 @@ fun AutoConnectScreen(navHostController: NavHostController) {
         window.statusBarColor = Color.Transparent.toArgb()
         window.navigationBarColor = Color.Transparent.toArgb()
 
-        HeaderRowACS(navHostController = navHostController)
+        HeaderRowACS(navHostController = navHostController, basePreferenceHelper)
 
         Column(
             verticalArrangement = Arrangement.Top,
@@ -187,10 +187,12 @@ fun AutoConnectScreen(navHostController: NavHostController) {
 }
 
 @Composable
-fun BoxScope.HeaderRowACS(navHostController: NavHostController) {
+fun BoxScope.HeaderRowACS(navHostController: NavHostController, basePreferenceHelper: BasePreferenceHelper) {
     val context = LocalContext.current
+    val autoConnectWifiList = basePreferenceHelper.getAutoConnectList()
     IconButton(
         onClick = {
+            Log.d("autoconnect_state", "autoConnectWifiList = ${autoConnectWifiList.toString()}")
             navHostController.popBackStack()
 //                    navHostController.navigate(BottomBarScreen.Help.route)
         },