瀏覽代碼

if server null, then connect button redirects to serverList screen

Khubaib 1 年之前
父節點
當前提交
37c1eb5080

二進制
app/release/fvpn_release_beta_1.0.4.apk


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

@@ -104,6 +104,15 @@ class MainActivity : ComponentActivity() {
         }
     }
 
+    override fun onDestroy() {
+        super.onDestroy()
+
+        val basePreferenceHelper = BasePreferenceHelper(baseContext)
+        basePreferenceHelper.clearServerObject()
+        Log.d("test_conn_ser_obj", "onDestroy() called")
+
+    }
+
     companion object {
         var isWGDown: Boolean = true
         var isAutoEnabled: Boolean = false

+ 6 - 1
app/src/main/java/com/vpn/fastestvpnservice/helpers/BasePreferenceHelper.kt

@@ -19,7 +19,7 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
         removePreference(context, KEY_FILENAME, KEY_USER)
         removePreference(context, KEY_FILENAME, KEY_USER_PASSWORD)
         removePreference(context, KEY_FILENAME, KEY_SERVERS_DATA)
-//        removePreference(context, KEY_FILENAME, KEY_SERVERS)
+        removePreference(context, KEY_FILENAME, KEY_SERVERS)
         removePreference(context, KEY_FILENAME, KEY_SELECTED_APPS)
         removePreference(context, KEY_FILENAME, KEY_SELECTED_APPS_NO_VPN)
         removePreference(context, KEY_FILENAME, KEY_SELECTED_APPS_NOT_ALLOW)
@@ -47,6 +47,11 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
         removePreference(context, KEY_FILENAME, KEY_AUTO_OPENVPN)
         removePreference(context, KEY_FILENAME, KEY_RECOMMENDED)
         removePreference(context, KEY_FILENAME, KEY_SUBSCRIPTION)
+        removePreference(context, KEY_FILENAME, KEY_CONNECTED_SERVER)
+    }
+
+    fun clearServerObject() {
+        removePreference(context, KEY_FILENAME, KEY_SERVERS)
     }
 
     fun saveUser(user: UserResponse) {

+ 1 - 1
app/src/main/java/com/vpn/fastestvpnservice/screens/ServerListScreen.kt

@@ -468,7 +468,7 @@ fun ColumnScope.ShowRecommendedList(
 //            }
 
             val recentLocation: ArrayList<Server> = ArrayList<Server>()
-            prefHelper.getServerObject()?.let {
+            prefHelper.getConnectedServer()?.let {
                 recentLocation.add(it)
             }
             items(items = recentLocation) { server ->

+ 24 - 5
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/HomeScreen.kt

@@ -500,6 +500,10 @@ fun Home(
                 ) {
                     IconButton(
                         onClick = {
+                            val connectedServer = basePreferenceHelper.getConnectedServer()
+                            val serverObject = basePreferenceHelper.getServerObject()
+
+                            Log.d("test_conn_ser_obj", "cs = ${connectedServer?.server_name} so = ${serverObject?.server_name}")
                             Log.d("isConnect_State", "onClick{} -> $isConnect")
                             Log.d("isConnect_State_vpn", "onClick{} -> $isConnect")
 
@@ -513,7 +517,9 @@ fun Home(
                                         Screen.Subscription.route
                                     )
 
-                                } else {
+                                }
+                                else {
+
                                     prefHelper.getServerObject()?.let {
                                         prefHelper.setConnectedServer(it)
                                     }
@@ -524,9 +530,22 @@ fun Home(
                                         homeViewModel.getIp()
                                     } else {
                                         Log.d("isConnect_State_vpn", "startVPN")
-                                        vpnConnectionsUtil.startVpn()
+
+                                        if (basePreferenceHelper.getServerObject() != null) {
+                                            vpnConnectionsUtil.startVpn()
+                                        }
+                                        else {
+                                            toChangeServer.value = false
+                                            navHostController.navigate(
+                                                Screen.ServerList.route
+                                            )
+                                            Screen.ServerList.isTrue = true
+                                            Log.d("button_click_change", "Pressed")
+                                        }
                                     }
 
+
+
                                     val widgetIntent = Intent(context, SimpleAppWidget::class.java)
                                     widgetIntent.action = SimpleAppWidget.ACTION_CHANGE_SERVER
                                     context.sendBroadcast(widgetIntent)
@@ -1010,15 +1029,15 @@ fun BoxScope.AddRowSmart(
 ) {
     val smart = basePreferenceHelper.getSmartServerObject()
     val recommended = basePreferenceHelper.getRecommendedServerObject()
-    val recently = basePreferenceHelper.getSmartServerObject()
+    val recently = basePreferenceHelper.getConnectedServer()
     val anySpecific = basePreferenceHelper.getSmartServerObject()
 
     val ipInfo = basePreferenceHelper.getIpinfo()
     val selectedSmartList = basePreferenceHelper.getSmartList()
-    var selectedServer = basePreferenceHelper.getSmartServerObject()
+    var selectedServer = basePreferenceHelper.getRecommendedServerObject()
     var selectedSmartServer = basePreferenceHelper.getSmartServerObject()
 
-    Log.d("smartLocationList", "Home:: server = ${recently?.server_name}")
+    Log.d("smartLocationList", "Home:: server = ${selectedServer?.server_name}")
     var icon = Utils.getDrawable(context, selectedServer?.iso)
 
 //    if (MainActivity.isSelectedServersShown) {