Browse Source

set condition if free acount, then display subscription screen, server.enable == 1 || 0

Khubaib 1 year ago
parent
commit
4144497faa

BIN
app/release/app-release.apk


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

@@ -107,6 +107,7 @@ class MainActivity : ComponentActivity() {
         var isWGDown: Boolean = true
         var isAutoEnabled: Boolean = false
         var isSnrNotify: Boolean = false
+        var isSelectedServersShown: Boolean = false
     }
 }
 

+ 18 - 5
app/src/main/java/com/vpn/fastestvpnservice/customItems/CountryItem.kt

@@ -69,6 +69,7 @@ import com.stealthcopter.networktools.ping.PingStats
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.onServer
 import com.vpn.fastestvpnservice.sealedClass.BottomBarScreen
+import com.vpn.fastestvpnservice.sealedClass.Screen
 import com.vpn.fastestvpnservice.viewmodels.HomeViewModel
 import com.vpn.fastestvpnservice.viewmodels.ServerListViewModel
 import com.vpn.fastestvpnservice.viewmodels.SplashViewModel
@@ -144,8 +145,15 @@ fun CountryItem(server: Server, category: String, countryTotalServers: Int, navH
                             indication = null,
                             interactionSource = remember { MutableInteractionSource() }
                         ) {
-                            basePreferenceHelper.setServerObject(server)
-                            isCountryServerClicked = true
+                            if (server.enable == 1) {
+                                basePreferenceHelper.setServerObject(server)
+                                isCountryServerClicked = true
+                            } else {
+                                navHostController.navigate(
+                                    Screen.Subscription.route
+                                )
+                            }
+
                         }
                 ) {
                     val icon = if (server.enable == 1) Utils.getDrawable(context, server.iso)
@@ -385,9 +393,14 @@ fun ColumnScope.ExpandableRow(server: ArrayList<Server>, navHostController: NavH
                                 indication = null,
                                 interactionSource = remember { MutableInteractionSource() }
                             ) {
-                                basePreferenceHelper.setServerObject(serverInfo)
-                                isExpServerClicked = true
-//                                navHostController.popBackStack()
+                                if (serverInfo.enable == 1) {
+                                    basePreferenceHelper.setServerObject(serverInfo)
+                                    isExpServerClicked = true
+                                } else {
+                                    navHostController.navigate(
+                                        Screen.Subscription.route
+                                    )
+                                }
                             }
                     ) {
                         Text(text = serverInfo.server_name!!,

+ 37 - 17
app/src/main/java/com/vpn/fastestvpnservice/customItems/ServerItem.kt

@@ -69,6 +69,7 @@ import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.helpers.UIHelper
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.onServer
 import com.vpn.fastestvpnservice.sealedClass.BottomBarScreen
+import com.vpn.fastestvpnservice.sealedClass.Screen
 import com.vpn.fastestvpnservice.utils.Utils
 import com.vpn.fastestvpnservice.viewmodels.HomeViewModel
 import com.vpn.fastestvpnservice.viewmodels.SearchListViewModel
@@ -124,8 +125,15 @@ fun ServerItem(server: Server, navHostController: NavHostController, serverPing:
                     indication = null,
                     interactionSource = remember { MutableInteractionSource() }
                 ) {
-                    basePreferenceHelper.setServerObject(server)
-                    isServerClicked = true
+                    if (server.enable == 1) {
+                        basePreferenceHelper.setServerObject(server)
+                        isServerClicked = true
+                    } else {
+                        navHostController.navigate(
+                            Screen.Subscription.route
+                        )
+                    }
+
                 }
         ) {
             var ping by remember { mutableIntStateOf(0) }
@@ -258,15 +266,13 @@ fun FavoriteServerItem(server: Server, navHostController: NavHostController) {
                     indication = null,
                     interactionSource = remember { MutableInteractionSource() }
                 ) {
-//                    Toast
-//                        .makeText(
-//                            context, server.server_name, Toast.LENGTH_SHORT
-//                        )
-//                        .show()
-//                    basePreferenceHelper.setServerObject(server)
-                    isFavServerClicked = true
-
-//                    navHostController.popBackStack()
+                    if (server.enable == 1) {
+                        isFavServerClicked = true
+                    } else {
+                        navHostController.navigate(
+                            Screen.Subscription.route
+                        )
+                    }
                 }
         ) {
             var ping by remember { mutableIntStateOf(0) }
@@ -417,12 +423,20 @@ fun ServerSearchItem(
                     indication = null,
                     interactionSource = remember { MutableInteractionSource() }
                 ) {
-                    basePreferenceHelper.setServerObject(server)
-                    isSearchServerClicked = isServerCallbackShown
+                    if (server.enable == 1) {
+                        basePreferenceHelper.setServerObject(server)
+                        isSearchServerClicked = isServerCallbackShown
 
-                    if (!isServerCallbackShown) {
-                        onServerDisable()
+                        if (!isServerCallbackShown) {
+                            onServerDisable()
+                        }
                     }
+                    else {
+                        navHostController.navigate(
+                            Screen.Subscription.route
+                        )
+                    }
+
                 }
         ) {
             var ping by remember { mutableIntStateOf(0) }
@@ -543,8 +557,14 @@ fun ServerSpecificItem(
                     indication = null,
                     interactionSource = remember { MutableInteractionSource() }
                 ) {
-                    basePreferenceHelper.setServerObject(server)
-                    onServerDisable()
+                    if (server.enable == 1) {
+                        basePreferenceHelper.setServerObject(server)
+                        onServerDisable()
+                    } else {
+                        navHostController.navigate(
+                            Screen.Subscription.route
+                        )
+                    }
                 }
         ) {
             val icon = if (server.enable == 1) Utils.getDrawable(context, server.iso)

+ 20 - 11
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/HomeScreen.kt

@@ -403,19 +403,27 @@ fun Home(navHostController: NavHostController, activity: ComponentActivity) {
                 Log.d("isConnect_State", "onClick{} -> $isConnect")
                 Log.d("isConnect_State_vpn", "onClick{} -> $isConnect")
 
-                if (isConnect == App.CONNECTED || isConnect == App.CONNECTING) {
-                    Log.d("isConnect_State_vpn", "stopVPN")
-                    vpnConnectionsUtil.stopVpn()
-                    homeViewModel.getIp()
-                } else {
-                    Log.d("isConnect_State_vpn", "startVPN")
-                    vpnConnectionsUtil.startVpn()
-                }
+                prefHelper.getProduct()?.identifier.let {
+                    val identifier = it
 
-//                isConnect = !isConnect
-//                homeViewModel.setConnectState(!isConnect)
+                    if (identifier == AppEnum.FREE.key) {
+                        Log.d("isConnect_State", "identifier -> $identifier")
+                        navHostController.navigate(
+                            Screen.Subscription.route
+                        )
 
-//                basePreferenceHelper.setConnectState(isConnect)
+                    } else {
+                        Log.d("isConnect_State", "identifier -> $identifier")
+                        if (isConnect == App.CONNECTED || isConnect == App.CONNECTING) {
+                            Log.d("isConnect_State_vpn", "stopVPN")
+                            vpnConnectionsUtil.stopVpn()
+                            homeViewModel.getIp()
+                        } else {
+                            Log.d("isConnect_State_vpn", "startVPN")
+                            vpnConnectionsUtil.startVpn()
+                        }
+                    }
+                }
 
             },
             modifier = Modifier
@@ -1062,6 +1070,7 @@ fun BoxScope.AddRowSmart(
 ) {
     val smart = basePreferenceHelper.getSmartServerObject()
     val recently = basePreferenceHelper.getServerObject()
+    val anySpecific = basePreferenceHelper.getServerObject()
     val ipInfo = basePreferenceHelper.getIpinfo()
     val selectedSmartList = basePreferenceHelper.getSmartList()
     var selectedServer = basePreferenceHelper.getServerObject()