浏览代码

Worked on Auto-Connect functionality, UI, created viewmodels and UI functionality is done, currently commented

Khubaib 9 月之前
父节点
当前提交
a312215b38

+ 4 - 4
app/src/main/AndroidManifest.xml

@@ -14,10 +14,10 @@
 
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
-    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
-    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+<!--    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />-->
+<!--    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />-->
+<!--    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
+<!--    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
     <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
     <uses-permission android:name="com.android.vending.BILLING" />
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

+ 7 - 7
app/src/main/java/com/vpn/fastestvpnservice/MainActivity.kt

@@ -89,13 +89,13 @@ open class MainActivity : DockActivity(), ConnectivityReceiver.ConnectivityRecei
             }
         }
 
-        ActivityCompat.requestPermissions(this,
-            arrayOf(
-                android.Manifest.permission.ACCESS_FINE_LOCATION,
-                android.Manifest.permission.ACCESS_COARSE_LOCATION
-            ),
-            PackageManager.PERMISSION_GRANTED
-        )
+//        ActivityCompat.requestPermissions(this,
+//            arrayOf(
+//                android.Manifest.permission.ACCESS_FINE_LOCATION,
+//                android.Manifest.permission.ACCESS_COARSE_LOCATION
+//            ),
+//            PackageManager.PERMISSION_GRANTED
+//        )
 
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && Settings.canDrawOverlays(this)) {
             isSwitch.value = true

+ 6 - 0
app/src/main/java/com/vpn/fastestvpnservice/beans/AutoConnectModel.kt

@@ -0,0 +1,6 @@
+package com.vpn.fastestvpnservice.beans
+
+data class AutoConnectModel(
+    var wifiName: String,
+    var isAdded: Boolean
+)

+ 60 - 5
app/src/main/java/com/vpn/fastestvpnservice/customItems/AutoConnectItem.kt

@@ -1,5 +1,7 @@
 package com.vpn.fastestvpnservice.customItems
 
+import android.content.Context
+import android.util.Log
 import androidx.compose.foundation.background
 import androidx.compose.foundation.clickable
 import androidx.compose.foundation.gestures.detectTapGestures
@@ -7,6 +9,7 @@ import androidx.compose.foundation.interaction.MutableInteractionSource
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.size
 import androidx.compose.material.Icon
@@ -24,6 +27,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.alpha
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.input.pointer.pointerInput
 import androidx.compose.ui.res.colorResource
@@ -31,10 +35,13 @@ import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
 import com.vpn.fastestvpnservice.R
+import com.vpn.fastestvpnservice.beans.AutoConnectModel
+import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
+import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.settingsViewModel
 
 @Composable
-fun AutoConnectItem() {
-    var isAdded by rememberSaveable { mutableStateOf(false) }
+fun AutoConnectItem(mobileNetworkState: Boolean, basePreferenceHelper: BasePreferenceHelper) {
+    var isAdded by rememberSaveable { mutableStateOf(mobileNetworkState) }
 
     Box(
         modifier = Modifier
@@ -85,6 +92,7 @@ fun AutoConnectItem() {
                 .pointerInput(Unit) {
                     detectTapGestures {
                         isAdded = !isAdded
+                        basePreferenceHelper.setMobileNetworkState(isAdded)
                     }
                 },
             verticalAlignment = Alignment.CenterVertically
@@ -102,6 +110,7 @@ fun AutoConnectItem() {
                     .size(20.dp),
                 onClick = {
                     isAdded = !isAdded
+                    basePreferenceHelper.setMobileNetworkState(isAdded)
                 }
             ) {
                 Icon(
@@ -117,8 +126,19 @@ fun AutoConnectItem() {
 }
 
 @Composable
-fun AutoConnectWifiItem() {
-    var isAddedWifi by rememberSaveable { mutableStateOf(false) }
+fun AutoConnectWifiItem(wifiList: AutoConnectModel, basePreferenceHelper: BasePreferenceHelper) {
+    Log.d("autoconnect", "AutoConnectWifiItem = ${wifiList.wifiName} ${wifiList.isAdded}")
+
+    var isAddedWifi by rememberSaveable { mutableStateOf(wifiList.isAdded) }
+
+    Surface(
+        modifier = Modifier
+            .padding(top = 20.dp, end = 27.dp)
+            .height(1.dp)
+            .fillMaxWidth()
+            .alpha(0.6F),
+        color = colorResource(id = R.color.gray_icon)
+    ) {}
 
     Box(
         modifier = Modifier
@@ -149,7 +169,7 @@ fun AutoConnectWifiItem() {
             color = Color.Transparent
         ) {
             Text(
-                text = "connectedWifiSsid" ?: "",
+                text = wifiList.wifiName ?: "",
                 style = MaterialTheme.typography.labelMedium,
                 color = colorResource(id = R.color.gray_icon),
                 maxLines = 1,
@@ -169,6 +189,8 @@ fun AutoConnectWifiItem() {
                 .pointerInput(Unit) {
                     detectTapGestures {
                         isAddedWifi = !isAddedWifi
+
+                        onClickAutoConnect(basePreferenceHelper, isAddedWifi, wifiList)
                     }
                 },
             verticalAlignment = Alignment.CenterVertically
@@ -186,6 +208,8 @@ fun AutoConnectWifiItem() {
                     .size(20.dp),
                 onClick = {
                     isAddedWifi = !isAddedWifi
+
+                    onClickAutoConnect(basePreferenceHelper, isAddedWifi, wifiList)
                 }
             ) {
                 Icon(
@@ -198,4 +222,35 @@ fun AutoConnectWifiItem() {
             }
         }
     }
+}
+
+fun onClickAutoConnect(basePreferenceHelper: BasePreferenceHelper, isAddedWifi: Boolean, wifiList: AutoConnectModel) {
+    val autoConnectWifiList = basePreferenceHelper.getAutoConnectList()
+    val wifiListAdded = ArrayList<AutoConnectModel>()
+
+    if (!isAddedWifi) {
+        Log.d("autoconnect", "isAddedWifi inside")
+        if (autoConnectWifiList != null) {
+            wifiListAdded.addAll(autoConnectWifiList)
+            wifiListAdded.remove(wifiList)
+        }
+    }
+    else {
+        Log.d("autoconnect", "isAddedWifi else")
+        if (autoConnectWifiList != null) {
+            wifiListAdded.addAll(autoConnectWifiList)
+            wifiListAdded.add(
+                0,
+                AutoConnectModel(wifiList.wifiName, isAddedWifi)
+            )
+        }
+        else {
+            wifiListAdded.add(AutoConnectModel(wifiList.wifiName, isAddedWifi))
+        }
+    }
+
+    Log.d("autoconnect", "wifiListAdded = ${wifiListAdded.size}")
+
+    basePreferenceHelper.setAutoConnectList(wifiListAdded)
+//    settingsViewModel.mutableLiveDataConnectedWifi.value = wifiListAdded
 }

+ 26 - 0
app/src/main/java/com/vpn/fastestvpnservice/helpers/BasePreferenceHelper.kt

@@ -5,6 +5,7 @@ import android.content.Context
 import com.google.gson.Gson
 import com.google.gson.GsonBuilder
 import com.google.gson.reflect.TypeToken
+import com.vpn.fastestvpnservice.beans.AutoConnectModel
 import com.vpn.fastestvpnservice.beans.IpInfo
 import com.vpn.fastestvpnservice.beans.Product
 import com.vpn.fastestvpnservice.beans.ProductFeatures
@@ -62,6 +63,8 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
 //        removePreference(context, KEY_FILENAME, LANGUAGE)
         removePreference(context, KEY_FILENAME, KEY_SERVERS_ID)
         removePreference(context, KEY_FILENAME, KEY_RECENTLY_SERVERS_ID)
+        removePreference(context, KEY_FILENAME, KEY_AUTOCONNECT)
+        removePreference(context, KEY_FILENAME, KEY_MOBILENETWORK)
     }
 
     fun clearServerObject() {
@@ -168,6 +171,19 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
         putStringPreference(context, KEY_FILENAME, KEY_SERVERS_ID, Gson().toJson(list))
     }
 
+    fun getAutoConnectList(): ArrayList<AutoConnectModel>? {
+        val type = object : TypeToken<ArrayList<AutoConnectModel?>?>() {}.type
+        return Gson().fromJson<ArrayList<AutoConnectModel>>(
+            getStringPreference(
+                context, KEY_FILENAME, KEY_AUTOCONNECT
+            ), type
+        )
+    }
+
+    fun setAutoConnectList(list: ArrayList<AutoConnectModel>?) {
+        putStringPreference(context, KEY_FILENAME, KEY_AUTOCONNECT, Gson().toJson(list))
+    }
+
     fun saveFeaturesData(list: ArrayList<ProductFeatures>) {
         putStringPreference(context, KEY_FILENAME, KEY_FEATURES_DATA, Gson().toJson(list))
     }
@@ -604,6 +620,14 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
         putBooleanPreference(context, KEY_FILENAME, KEY_FEEDBACK, state)
     }
 
+    fun getMobileNetworkState(): Boolean {
+        return getBooleanPreference(context, KEY_FILENAME, KEY_MOBILENETWORK)
+    }
+
+    fun setMobileNetworkState(state: Boolean) {
+        putBooleanPreference(context, KEY_FILENAME, KEY_MOBILENETWORK, state)
+    }
+
     fun getConnectState(): Int {
         return getIntegerPreference(context, KEY_FILENAME, KEY_ISCONNECT)
     }
@@ -689,5 +713,7 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
         private const val LANGUAGE = "key_language"
         private const val KEY_SERVERS_ID = "key_servers_id"
         private const val KEY_RECENTLY_SERVERS_ID = "keydata_recently_servers_id"
+        private const val KEY_AUTOCONNECT = "keydata_autoconnect"
+        private const val KEY_MOBILENETWORK = "keydata_mobilenetwork"
     }
 }

+ 12 - 7
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/SettingsScreen.kt

@@ -135,6 +135,7 @@ import kotlinx.coroutines.launch
 import java.util.Locale
 
 var isSwitch: MutableState<Boolean> = mutableStateOf(false)
+lateinit var settingsViewModel: SettingsViewModel
 
 @OptIn(ExperimentalFoundationApi::class, ExperimentalMaterial3Api::class)
 @Composable
@@ -146,6 +147,9 @@ fun Settings(navHostController: NavHostController, activity: ComponentActivity)
     val basePreferenceHelper = BasePreferenceHelper(context)
     var isLaunched by remember { mutableStateOf(false) }
     var settingsString by remember { mutableStateOf(context.getString(R.string.settings)) }
+    settingsViewModel = viewModel() {
+        SettingsViewModel(context = context)
+    }
 
     isSwitch.value = basePreferenceHelper.getLaunchState()
 
@@ -258,13 +262,14 @@ fun Settings(navHostController: NavHostController, activity: ComponentActivity)
                     settingsString = it
                 }
 
-                AddRowSettings(
-                    icon = R.drawable.autoconnect3x,
-                    text = "Auto Connect",
-                    onClick = {
-                        navHostController.navigate(Screen.AutoConnect.route)
-                    }
-                )
+//                AddRowSettings(
+//                    icon = R.drawable.autoconnect3x,
+//                    text = "Auto Connect",
+//                    onClick = {
+//                        settingsViewModel.getConnectedWifi()
+//                        navHostController.navigate(Screen.AutoConnect.route)
+//                    }
+//                )
 
                 if (isLaunched) {
                     AlertDialog(

+ 12 - 117
app/src/main/java/com/vpn/fastestvpnservice/screens/settingsScreenAll/AutoConnectScreen.kt

@@ -5,15 +5,10 @@ import android.util.Log
 import androidx.compose.foundation.BorderStroke
 import androidx.compose.foundation.background
 import androidx.compose.foundation.border
-import androidx.compose.foundation.clickable
-import androidx.compose.foundation.gestures.detectTapGestures
-import androidx.compose.foundation.interaction.MutableInteractionSource
 import androidx.compose.foundation.layout.Arrangement
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.BoxScope
 import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.fillMaxHeight
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.fillMaxWidth
@@ -21,55 +16,38 @@ import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.size
 import androidx.compose.foundation.layout.wrapContentHeight
-import androidx.compose.foundation.shape.CircleShape
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.items
 import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.material.Icon
 import androidx.compose.material.IconButton
 import androidx.compose.material.Surface
 import androidx.compose.material.Text
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.Add
-import androidx.compose.material.icons.filled.Minimize
-import androidx.compose.material.icons.filled.NetworkCell
-import androidx.compose.material.icons.filled.Wifi
 import androidx.compose.material3.MaterialTheme
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.LaunchedEffect
 import androidx.compose.runtime.MutableState
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.livedata.observeAsState
 import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.remember
 import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.alpha
-import androidx.compose.ui.draw.clip
-import androidx.compose.ui.draw.paint
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.toArgb
-import androidx.compose.ui.input.pointer.pointerInput
-import androidx.compose.ui.layout.ContentScale
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
-import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
-import androidx.lifecycle.viewmodel.compose.viewModel
 import androidx.navigation.NavHostController
 import com.vpn.fastestvpnservice.R
-import com.vpn.fastestvpnservice.beans.toChangeServer
-import com.vpn.fastestvpnservice.constants.smartConnect
 import com.vpn.fastestvpnservice.customItems.AutoConnectItem
+import com.vpn.fastestvpnservice.customItems.AutoConnectWifiItem
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.AddRowSettingsSmart
-import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.onServer
-import com.vpn.fastestvpnservice.screens.serverListViewModelSplash
-import com.vpn.fastestvpnservice.sealedClass.Screen
-import com.vpn.fastestvpnservice.utils.Utils
-import com.vpn.fastestvpnservice.viewmodels.SettingsViewModel
+import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.settingsViewModel
 
 var selectedSmart: MutableState<String> = mutableStateOf("")
 
@@ -80,15 +58,9 @@ fun AutoConnectScreen(navHostController: NavHostController) {
     selectedSmart.value = basePreferenceHelper.getSmartList()
     var isAdded by rememberSaveable { mutableStateOf(false) }
     var isAddedWifi by rememberSaveable { mutableStateOf(false) }
-    val settingsViewModel = viewModel() {
-        SettingsViewModel(context = context)
-    }
-
-    LaunchedEffect(key1 = Unit) {
-        settingsViewModel.getConnectedWifi()
-    }
 
-    val connectedWifiSsid = settingsViewModel.liveDataConnectedWifi.observeAsState().value
+    val wifiList = settingsViewModel.liveDataConnectedWifi.observeAsState().value
+    Log.d("autoconnect", "wifiList ACS = ${wifiList.toString()}")
 
     Box(
         modifier = Modifier
@@ -196,92 +168,15 @@ fun AutoConnectScreen(navHostController: NavHostController) {
                     .alpha(1f)
             )
 
-            AutoConnectItem()
+            val mobileNetworkState = basePreferenceHelper.getMobileNetworkState()
 
-            Surface(
-                modifier = Modifier
-                    .padding(top = 20.dp, end = 27.dp)
-                    .height(1.dp)
-                    .fillMaxWidth()
-                    .alpha(0.6F),
-                color = colorResource(id = R.color.gray_icon)
-            ) {}
+            AutoConnectItem(mobileNetworkState, basePreferenceHelper)
 
-            Box(
-                modifier = Modifier
-                    .fillMaxWidth()
-                    .padding(start = 0.dp, end = 27.dp, top = 20.dp)
-                    .background(Color.Transparent)
-                    .clickable(
-                        indication = null,
-                        interactionSource = remember { MutableInteractionSource() }
-                    ) {},
-                contentAlignment = Alignment.CenterStart
-            ) {
-                Icon(
-                    imageVector = Icons.Default.Wifi,
-                    contentDescription = "Wifi",
-                    tint = colorResource(id = R.color.gray_icon),
-                    modifier = Modifier
-                        .padding(top = 0.dp, bottom = 0.dp)
-                        .size(20.dp)
-                        .align(Alignment.CenterStart)
-                )
 
-                Surface(
-                    modifier = Modifier
-                        .padding(start = 40.dp, bottom = 0.dp, end = 110.dp)
-                        .align(Alignment.CenterStart)
-                        .background(Color.Transparent),
-                    color = Color.Transparent
-                ) {
-                    Text(
-                        text = connectedWifiSsid ?: "",
-                        style = MaterialTheme.typography.labelMedium,
-                        color = colorResource(id = R.color.gray_icon),
-                        maxLines = 1,
-                        overflow = TextOverflow.Ellipsis,
-                        modifier = Modifier
-                            .align(Alignment.CenterStart)
-                    )
-                }
-                val isAddedText = if (isAddedWifi) "Remove" else "Add"
-                val isAddedColor = if (isAddedWifi) colorResource(id = R.color.Red) else colorResource(id = R.color.LightSeaGreen)
-
-                Row(
-                    modifier = Modifier
-                        .padding(bottom = 0.dp, end = 0.dp)
-                        .align(Alignment.CenterEnd)
-                        .background(Color.Transparent)
-                        .pointerInput(Unit) {
-                            detectTapGestures {
-                                isAddedWifi = !isAddedWifi
-                            }
-                        },
-                    verticalAlignment = Alignment.CenterVertically
-                ) {
-                    Text(
-                        text = isAddedText,
-                        style = MaterialTheme.typography.displayMedium,
-                        color = isAddedColor,
-                        modifier = Modifier
-                            .padding(end = 8.dp, bottom = 0.dp)
-
-                    )
-                    IconButton(
-                        modifier = Modifier
-                            .size(20.dp),
-                        onClick = {
-                            isAddedWifi = !isAddedWifi
-                        }
-                    ) {
-                        Icon(
-                            painter = if (isAddedWifi) painterResource(id = R.drawable.remove_circle_outline_24)
-                            else painterResource(id = R.drawable.add_circle_outline_24),
-                            contentDescription = "Server Logo",
-                            tint = isAddedColor,
-                            modifier = Modifier.size(20.dp)
-                        )
+            wifiList?.let {
+                LazyColumn() {
+                    items(items = wifiList) {
+                        AutoConnectWifiItem(it, basePreferenceHelper)
                     }
                 }
             }

+ 0 - 1
app/src/main/java/com/vpn/fastestvpnservice/screens/settingsScreenAll/NotificationsScreen.kt

@@ -89,7 +89,6 @@ fun Notifications(navHostController: NavHostController) {
                         NotificationItem(item = item)
                     }
                 }
-
             }
         }
     }

+ 41 - 12
app/src/main/java/com/vpn/fastestvpnservice/viewmodels/SettingsViewModel.kt

@@ -13,17 +13,21 @@ import androidx.core.content.ContextCompat
 import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
+import com.vpn.fastestvpnservice.beans.AutoConnectModel
+import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import de.blinkt.openvpn.core.App
 
 class SettingsViewModel constructor(context: Context): ViewModel() {
 
-    var mutableLiveDataConnectedWifi = MutableLiveData<String>("")
-    var liveDataConnectedWifi: LiveData<String> = mutableLiveDataConnectedWifi
+    var mutableLiveDataConnectedWifi = MutableLiveData<ArrayList<AutoConnectModel>>()
+    var liveDataConnectedWifi: LiveData<ArrayList<AutoConnectModel>> = mutableLiveDataConnectedWifi
 
     var context: Context
+    var basePreferenceHelper: BasePreferenceHelper
 
     init {
         this.context = context
+        basePreferenceHelper = BasePreferenceHelper(context)
     }
 
     fun getConnectedWifi() {
@@ -63,11 +67,42 @@ class SettingsViewModel constructor(context: Context): ViewModel() {
                 val wifiInfo = wifiManager.connectionInfo
 
                 if (wifiInfo != null && wifiInfo.supplicantState == SupplicantState.COMPLETED) {
-                    val connectedSSID = wifiInfo.ssid.replace("\"", "")
+                    val connectedWifiSsid = wifiInfo.ssid.replace("\"", "")
 
-                    Log.d("getConnectedWifi cssid", connectedSSID)
+                    Log.d("getConnectedWifi cssid", connectedWifiSsid)
 
-                    mutableLiveDataConnectedWifi.value = connectedSSID
+                    val autoConnectWifiList = basePreferenceHelper.getAutoConnectList()
+                    val wifiList = ArrayList<AutoConnectModel>()
+
+                    Log.d("autoconnect", "connectedWifiSsid = $connectedWifiSsid")
+                    Log.d("autoconnect", "Before autoConnectWifiList = ${autoConnectWifiList?.size}")
+
+                    if (autoConnectWifiList != null && autoConnectWifiList.size > 0) {
+                        wifiList.addAll(autoConnectWifiList)
+
+                        if (wifiList.any { it.wifiName == connectedWifiSsid })
+                        { }
+                        else {
+                            if (connectedWifiSsid?.isNotEmpty() == true)
+                                wifiList.add(0, AutoConnectModel(connectedWifiSsid, false))
+                        }
+                    }
+                    else {
+                        if (connectedWifiSsid?.isNotEmpty() == true) {
+                            wifiList.add(AutoConnectModel(connectedWifiSsid, false))
+                        }
+                    }
+
+                    Log.d("autoconnect", "wifiList = ${wifiList.size}")
+                    Log.d("autoconnect", "wifiList = ${wifiList.toString()}")
+
+                    mutableLiveDataConnectedWifi.value = wifiList
+
+                }
+            }
+        }
+    }
+}
 
 //                    for (scanResult in nonZeroList) {
 //
@@ -88,10 +123,4 @@ class SettingsViewModel constructor(context: Context): ViewModel() {
 //                                }
 //                            }
 //
-//                    }
-                }
-            }
-        }
-
-    }
-}
+//                    }