Browse Source

Displaying all enable and disable servers on TV with non gray flags and all servers can connect on a non-free account

Khubaib 6 months ago
parent
commit
b3e585ba1d

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

@@ -300,10 +300,10 @@ fun FavoriteServerItem(
         val icon = Utils.getDrawable(context, server.iso)
         var isFreeAccount: Boolean = false
         basePreferenceHelper.getProduct()?.identifier?.let {
-            if (it == AppEnum.FREE.key) {
-                isFreeAccount = true
+            isFreeAccount = if (it == AppEnum.FREE.key) {
+                true
             } else {
-                isFreeAccount = false
+                false
             }
         }
 

+ 35 - 8
app/src/main/java/com/vpn/fastestvpnservice/customItems/ServerItemTV.kt

@@ -52,6 +52,7 @@ import androidx.navigation.NavHostController
 import com.vpn.fastestvpnservice.R
 import com.vpn.fastestvpnservice.beans.Server
 import com.vpn.fastestvpnservice.beans.toChangeServer
+import com.vpn.fastestvpnservice.constants.AppEnum
 import com.vpn.fastestvpnservice.constants.smartConnect
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.navigation.isFirstItemFocused
@@ -94,6 +95,14 @@ fun ServerItemTV(
 //        else Utils.getDrawableGray(context, server.iso)
 
         val icon = Utils.getDrawable(context, server.iso)
+        var isFreeAccount: Boolean = false
+        basePreferenceHelper.getProduct()?.identifier?.let {
+            isFreeAccount = if (it == AppEnum.FREE.key) {
+                true
+            } else {
+                false
+            }
+        }
 
         if (isServerClicked) {
             Log.d("ServerCallbacks", "isServerClicked $isServerClicked")
@@ -144,7 +153,7 @@ fun ServerItemTV(
                     indication = null,
                     interactionSource = remember { MutableInteractionSource() }
                 ) {
-                    if (server.enable == 1) {
+                    if (!isFreeAccount) {
                         if (toChangeServer.value) {
                             basePreferenceHelper.saveSmartList(smartConnect[2])
                             basePreferenceHelper.setSmartServerObject(server)
@@ -174,7 +183,7 @@ fun ServerItemTV(
 
 
                     Text(
-                        text = "${server.server_name}",
+                        text = "${server.server_name} ${server.enable}",
                         style = MaterialTheme.typography.labelMedium,
                         color = MaterialTheme.colorScheme.primary,
                         modifier = Modifier
@@ -267,6 +276,14 @@ fun SearchServerItemTV(
 //        else Utils.getDrawableGray(context, server.iso)
 
         val icon = Utils.getDrawable(context, server.iso)
+        var isFreeAccount: Boolean = false
+        basePreferenceHelper.getProduct()?.identifier?.let {
+            isFreeAccount = if (it == AppEnum.FREE.key) {
+                true
+            } else {
+                false
+            }
+        }
 
         Row(
             verticalAlignment = Alignment.Top,
@@ -282,18 +299,19 @@ fun SearchServerItemTV(
                     indication = null,
                     interactionSource = remember { MutableInteractionSource() }
                 ) {
-                    if (server.enable == 1) {
+                    if (!isFreeAccount) {
                         basePreferenceHelper.saveSmartList(smartConnect[2])
                         basePreferenceHelper.setSmartServerObject(server)
                         navHostController.popBackStack()
 //                        isFavServerClicked = true
-                    } else {
+                    }
+//                    else {
 //                        basePreferenceHelper.setSubscriptionServerObject(server)
 //                        Screen.Subscription.isTrue = true
 //                        navHostController.navigate(
 //                            Screen.Subscription.route
 //                        )
-                    }
+//                    }
                 }
         ) {
             if (icon != 0) {
@@ -418,6 +436,14 @@ fun FavoriteServerItemTV(
 //        else Utils.getDrawableGray(context, server.iso)
 
         val icon = Utils.getDrawable(context, server.iso)
+        var isFreeAccount: Boolean = false
+        basePreferenceHelper.getProduct()?.identifier?.let {
+            isFreeAccount = if (it == AppEnum.FREE.key) {
+                true
+            } else {
+                false
+            }
+        }
 
         Row(
             verticalAlignment = Alignment.Top,
@@ -433,15 +459,16 @@ fun FavoriteServerItemTV(
                     indication = null,
                     interactionSource = remember { MutableInteractionSource() }
                 ) {
-                    if (server.enable == 1) {
+                    if (!isFreeAccount) {
                         isFavServerClicked = true
-                    } else {
+                    }
+//                    else {
 //                        basePreferenceHelper.setSubscriptionServerObject(server)
 //                        Screen.Subscription.isTrue = true
 //                        navHostController.navigate(
 //                            Screen.Subscription.route
 //                        )
-                    }
+//                    }
                 }
         ) {
 //            var ping by rememberSaveable { mutableIntStateOf(0) }

+ 13 - 12
app/src/main/java/com/vpn/fastestvpnservice/viewmodels/ServerListViewModel.kt

@@ -393,11 +393,12 @@ class ServerListViewModel(context: Context): ViewModel() {
             }
         }
 
-        val enabledServer = distinctBy.filter {
-            it.enable == 1
-        }
+//        val enabledServer = distinctBy.filter {
+//            it.enable == 1
+//        }
 
-        return (enabledServer as ArrayList<Server>)
+
+        return (distinctBy as ArrayList<Server>)
     }
 
 
@@ -470,11 +471,11 @@ class ServerListViewModel(context: Context): ViewModel() {
             }
         }
 
-        val enabledServer = distinctBy.filter {
-            it.enable == 1
-        }
+//        val enabledServer = distinctBy.filter {
+//            it.enable == 1
+//        }
 
-        return (enabledServer as ArrayList<Server>)
+        return (distinctBy as ArrayList<Server>)
     }
 
     fun filterServersByStreamingServers(
@@ -562,13 +563,13 @@ class ServerListViewModel(context: Context): ViewModel() {
 //            }
 //        }
 
-        val enabledServer = distinctBy.filter {
-            it.enable == 1
-        }
+//        val enabledServer = distinctBy.filter {
+//            it.enable == 1
+//        }
 
         val tempList2 = ArrayList<Server>()
 
-        enabledServer.forEachIndexed { index1, server1 ->
+        distinctBy.forEachIndexed { index1, server1 ->
             calculatePing(server1){
 //                Log.d("serverInfo_ping", "In: ${server1.server_name} $it")
                 server1.ping = it