Bladeren bron

Showing subscription screen to a free user on click if protocol is not enabled

Khubaib 6 maanden geleden
bovenliggende
commit
cfac84c2c9

+ 36 - 28
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/HomeScreen.kt

@@ -224,42 +224,50 @@ lateinit var vpnConnectionsUtil: VPNConnectionsUtil
          if (!isFreeAccount) {
              Log.d("OnChangeProtocol", "getEnableProtocols yes!")
 
-             if (prefHelper.getProtocol().index != protocol.index) {
-
-                 if (connectState == 2) {
-                     navHostController1.popBackStack()
-                     isProtocolDialog.value = true
-                 }
-                 else {
-                     prefHelper.saveProtocol(protocol = protocol)
-
-                     val lastServer = prefHelper.getConnectedServer()
-                     val serverList = prefHelper.getServerData()
-//                     val serverList = serverListViewModelSplash.liveDataGetServersGlobal.value
-
-                     if (lastServer != null) {
-                         val serverProtocol = serverListViewModel.getFilteredServerByProtocolChanged(serverList, lastServer, protocol)
-
-                         if (serverProtocol.isFound) {
-                             prefHelper.setServerObject(serverProtocol.server)
-                             val lastServer1 = prefHelper.getServerObject()
-                         }
-                     }
-                     serverListViewModelSplash.setCountryData()
-                 }
-             }
-
+             changeProtocolSelection(prefHelper, protocol, connectState, serverListViewModel)
          }
          else {
 //             Screen.Subscription.isTrue = true
-             navHostController1.let {
-                    it.navigate(Screen.Subscription.route)
-                }
+
+             if (getEnableProtocols(protocol.title, prefHelper)) {
+                 changeProtocolSelection(prefHelper, protocol, connectState, serverListViewModel)
+             } else {
+                 navHostController1.let {
+                     it.navigate(Screen.Subscription.route)
+                 }
+             }
          }
      }
 
  }
 
+fun changeProtocolSelection(prefHelper: BasePreferenceHelper, protocol: Protocol, connectState: Int, serverListViewModel: ServerListViewModel) {
+    if (prefHelper.getProtocol().index != protocol.index) {
+
+        if (connectState == 2) {
+            navHostController1.popBackStack()
+            isProtocolDialog.value = true
+        }
+        else {
+            prefHelper.saveProtocol(protocol = protocol)
+
+            val lastServer = prefHelper.getConnectedServer()
+            val serverList = prefHelper.getServerData()
+//                     val serverList = serverListViewModelSplash.liveDataGetServersGlobal.value
+
+            if (lastServer != null) {
+                val serverProtocol = serverListViewModel.getFilteredServerByProtocolChanged(serverList, lastServer, protocol)
+
+                if (serverProtocol.isFound) {
+                    prefHelper.setServerObject(serverProtocol.server)
+                    val lastServer1 = prefHelper.getServerObject()
+                }
+            }
+            serverListViewModelSplash.setCountryData()
+        }
+    }
+}
+
 val networkSpeed = object : NetworkSpeedCallback {
     override fun setNetworkSpeed(down: Double, up: Double, downUnit: String, upUnit: String) {
         StringDown.value = down

+ 0 - 2
app/src/main/java/com/vpn/fastestvpnservice/screensTV/HomeScreenTV.kt

@@ -210,7 +210,6 @@ val onServerTV = object : ServerCallbacksTV {
 
         if (!isFreeAccount) {
             Log.d("OnChangeProtocol", "getEnableProtocols yes!")
-
             if (prefHelper.getProtocol().index != protocol.index) {
 
                 if (connectState == 2) {
@@ -236,7 +235,6 @@ val onServerTV = object : ServerCallbacksTV {
                     serverListViewModelSplash.setCountryDataTV()
                 }
             }
-
         }
         else {
 //             Screen.Subscription.isTrue = true