Bläddra i källkod

smart connect list state saved in sharedPrefs..

Khubaib 1 år sedan
förälder
incheckning
8c37c9d593

+ 5 - 1
app/src/main/java/com/vpn/fastestvpnservice/constants/CustomText.kt

@@ -25,4 +25,8 @@ const val TermsAndConditionsDesc: String = "Duis vestibulum elit vel neque phare
 const val HelpDesc: String = "The VPN on your phone is a Virtual Private Network. It's an app that allows you to connect to another server and replace your IP address with the IP address."
 
 val splitList = listOf("All apps use the VPN", "Only allow selected apps to use the vpn",
-    "Do not allow selected apps to use the vpn")
+    "Do not allow selected apps to use the vpn")
+
+val smartConnect = listOf<String>(
+    "Recommended", "Recently", "Any Specific"
+)

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

@@ -42,6 +42,7 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
         removePreference(context, KEY_FILENAME, KEY_ISCONNECT)
         removePreference(context, KEY_FILENAME, KEY_SPLIT_POS)
         removePreference(context, KEY_FILENAME, FILTER)
+        removePreference(context, KEY_FILENAME, SMART)
     }
 
     fun saveUser(user: UserResponse) {
@@ -374,6 +375,14 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
         return getStringPreference(context, KEY_FILENAME, FILTER)
     }
 
+    fun saveSmartList(smart: String) {
+        putStringPreference(context, KEY_FILENAME, SMART, smart)
+    }
+
+    fun getSmartList(): String {
+        return getStringPreference(context, KEY_FILENAME, SMART)
+    }
+
     fun saveTvSplitTunnel(tvSplitTunneling: ArrayList<TvSplitTunneling>) {
         putStringPreference(context, KEY_FILENAME, TV_SPLIT_CLASS, Gson().toJson(tvSplitTunneling))
     }
@@ -496,5 +505,6 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
         private const val THEME = "key_theme"
         private const val KEY_ISCONNECT = "keydata_isconnect"
         private const val FILTER = "keydata_filter"
+        private const val SMART = "keydata_smart"
     }
 }

+ 2 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/LoginScreen.kt

@@ -112,6 +112,7 @@ import com.vpn.fastestvpnservice.beans.DataResponse
 import com.vpn.fastestvpnservice.beans.UserResponse
 import com.vpn.fastestvpnservice.beans.filterList
 import com.vpn.fastestvpnservice.beans.themesList
+import com.vpn.fastestvpnservice.constants.smartConnect
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.AddText
 import com.vpn.fastestvpnservice.sealedClass.Screen
@@ -639,6 +640,7 @@ fun BoxScope.SignInButton(
                     prefHelper.saveAdBlockState(false)
                     prefHelper.saveTheme(themesList[0])
                     prefHelper.saveFilterList(filterList[0])
+                    prefHelper.saveSmartList(smartConnect[0])
 
                     it.servers?.let {
                         prefHelper.saveServerData(it)

+ 3 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/SignUpScreen.kt

@@ -90,6 +90,7 @@ import androidx.navigation.compose.rememberNavController
 import com.vpn.fastestvpnservice.R
 import com.vpn.fastestvpnservice.beans.filterList
 import com.vpn.fastestvpnservice.beans.themesList
+import com.vpn.fastestvpnservice.constants.smartConnect
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.sealedClass.Screen
 import com.vpn.fastestvpnservice.ui.theme.customTypography
@@ -711,6 +712,8 @@ fun BoxScope.SignUpButton(
                     prefHelper.saveAdBlockState(false)
                     prefHelper.saveTheme(themesList[0])
                     prefHelper.saveFilterList(filterList[0])
+                    prefHelper.saveSmartList(smartConnect[0])
+
 
                     it.servers?.let {
                         prefHelper.saveServerData(it)

+ 9 - 4
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/SettingsScreen.kt

@@ -95,6 +95,7 @@ import com.vpn.fastestvpnservice.beans.Protocol
 import com.vpn.fastestvpnservice.beans.isDarkTheme
 import com.vpn.fastestvpnservice.beans.themesList
 import com.vpn.fastestvpnservice.constants.AppEnum
+import com.vpn.fastestvpnservice.constants.smartConnect
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.sealedClass.BottomBarScreen
 import com.vpn.fastestvpnservice.sealedClass.Screen
@@ -748,11 +749,11 @@ fun ColumnScope.AddRowSettingsSmart(
 ) {
     var isSmartSheetOpen by remember { mutableStateOf(isSheetShown) }
     val sheetState = rememberModalBottomSheetState()
-    val smartConnect = listOf<String>(
-        "Recommended", "Recently", "Any Specific"
-    )
+    val context = LocalContext.current
+    val basePreferenceHelper = BasePreferenceHelper(context)
+
     var selectedSmartConnect by remember {
-        mutableStateOf(smartConnect[0]) }
+        mutableStateOf(basePreferenceHelper.getSmartList()) }
 
     if (isRowShown) {
         Row(
@@ -859,6 +860,8 @@ fun ColumnScope.AddRowSettingsSmart(
                                     selected = selectedSmartConnect == smart,
                                     onClick = {
                                         selectedSmartConnect = smart
+                                        basePreferenceHelper.saveSmartList(smart)
+                                        isSmartSheetOpen = false
                                     },
                                 )
 //                                    .indication(
@@ -873,6 +876,8 @@ fun ColumnScope.AddRowSettingsSmart(
                             RadioButton(selected = smart == selectedSmartConnect,
                                 onClick = {
                                     selectedSmartConnect = smart
+                                    basePreferenceHelper.saveSmartList(smart)
+                                    isSmartSheetOpen = false
                                 },
                                 colors = RadioButtonDefaults.colors(
                                     selectedColor = colorResource(id = R.color.radio_button_blue),