|
@@ -1,6 +1,7 @@
|
|
|
package com.vpn.fastestvpnservice.screensTV
|
|
|
|
|
|
import android.util.Log
|
|
|
+import android.widget.Toast
|
|
|
import androidx.compose.foundation.background
|
|
|
import androidx.compose.foundation.clickable
|
|
|
import androidx.compose.foundation.focusable
|
|
@@ -59,11 +60,18 @@ fun ServerListTV(navHostController: NavHostController) {
|
|
|
) {
|
|
|
HeaderRowSL(navHostController = navHostController)
|
|
|
|
|
|
- var locations = ArrayList<Server>()
|
|
|
- var dedicatedIP = ArrayList<Server>()
|
|
|
- var streaming = ArrayList<Server>()
|
|
|
- var dvpn = ArrayList<Server>()
|
|
|
- var p2p = ArrayList<Server>()
|
|
|
+// var locations = ArrayList<Server>()
|
|
|
+// var dedicatedIP = ArrayList<Server>()
|
|
|
+// var streaming = ArrayList<Server>()
|
|
|
+// var dvpn = ArrayList<Server>()
|
|
|
+// var p2p = ArrayList<Server>()
|
|
|
+
|
|
|
+ var locations by remember { mutableStateOf(ArrayList<Server>()) }
|
|
|
+ var dedicatedIP by remember { mutableStateOf(ArrayList<Server>()) }
|
|
|
+ var streaming by remember { mutableStateOf(ArrayList<Server>()) }
|
|
|
+ var dvpn by remember { mutableStateOf(ArrayList<Server>()) }
|
|
|
+ var p2p by remember { mutableStateOf(ArrayList<Server>()) }
|
|
|
+
|
|
|
|
|
|
var isLocationsEnabled by remember { mutableStateOf(false) }
|
|
|
var isDedicatedIpEnabled by remember { mutableStateOf(false) }
|
|
@@ -71,29 +79,30 @@ fun ServerListTV(navHostController: NavHostController) {
|
|
|
var isDvpnEnabled by remember { mutableStateOf(false) }
|
|
|
var isP2pEnabled by remember { mutableStateOf(false) }
|
|
|
|
|
|
-
|
|
|
- val countries = serverListViewModelSplash.liveDataGetServersGlobal.value
|
|
|
- countries?.forEachIndexed { index, serverData ->
|
|
|
- Log.d("test_serverlist_tv","$index ${serverData?.name} ${serverData?.servers?.size}")
|
|
|
- if (serverData?.name?.equals("Servers") == true) {
|
|
|
- serverData.servers?.let { locations = it }
|
|
|
- if (locations.size > 0) isLocationsEnabled = true
|
|
|
- }
|
|
|
- else if (serverData?.name?.equals("Dedicated IP") == true) {
|
|
|
- serverData.servers?.let { dedicatedIP = it }
|
|
|
- if (dedicatedIP.size > 0) isDedicatedIpEnabled = true
|
|
|
- }
|
|
|
- else if (serverData?.name?.equals("Streaming") == true) {
|
|
|
- serverData.servers?.let { streaming = it }
|
|
|
- if (streaming.size > 0) isStreamingEnabled = true
|
|
|
- }
|
|
|
- else if (serverData?.name?.equals("D-VPN") == true) {
|
|
|
- serverData.servers?.let { dvpn = it }
|
|
|
- if (dvpn.size > 0) isDvpnEnabled = true
|
|
|
- }
|
|
|
- else if (serverData?.name?.equals("P2P") == true) {
|
|
|
- serverData.servers?.let { p2p = it }
|
|
|
- if (p2p.size > 0) isP2pEnabled = true
|
|
|
+ LaunchedEffect(key1 = Unit) {
|
|
|
+ val countries = serverListViewModelSplash.liveDataGetServersGlobal.value
|
|
|
+ countries?.forEachIndexed { index, serverData ->
|
|
|
+ Log.d("test_serverlist_tv","$index ${serverData?.name} ${serverData?.servers?.size}")
|
|
|
+ if (serverData?.name?.equals("Servers") == true) {
|
|
|
+ serverData.servers?.let { locations = it }
|
|
|
+ if (locations.size > 0) isLocationsEnabled = true
|
|
|
+ }
|
|
|
+ else if (serverData?.name?.equals("Dedicated IP") == true) {
|
|
|
+ serverData.servers?.let { dedicatedIP = it }
|
|
|
+ if (dedicatedIP.size > 0) isDedicatedIpEnabled = true
|
|
|
+ }
|
|
|
+ else if (serverData?.name?.equals("Streaming") == true) {
|
|
|
+ serverData.servers?.let { streaming = it }
|
|
|
+ if (streaming.size > 0) isStreamingEnabled = true
|
|
|
+ }
|
|
|
+ else if (serverData?.name?.equals("D-VPN") == true) {
|
|
|
+ serverData.servers?.let { dvpn = it }
|
|
|
+ if (dvpn.size > 0) isDvpnEnabled = true
|
|
|
+ }
|
|
|
+ else if (serverData?.name?.equals("P2P") == true) {
|
|
|
+ serverData.servers?.let { p2p = it }
|
|
|
+ if (p2p.size > 0) isP2pEnabled = true
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -109,7 +118,7 @@ fun ServerListTV(navHostController: NavHostController) {
|
|
|
|
|
|
if (isLocationsEnabled) {
|
|
|
Text(
|
|
|
- text = "Top Locations",
|
|
|
+ text = "Top Locations ${locations.size}",
|
|
|
style = MaterialTheme.typography.labelLarge,
|
|
|
color = colorResource(id = R.color.dark_blue_gray_text),
|
|
|
modifier = Modifier
|