瀏覽代碼

serverlist working()..git add .

Khubaib 1 年之前
父節點
當前提交
d4619901a4

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

@@ -228,7 +228,7 @@ fun CountryItem(server: Server, category: String) {
                                     .size(24.dp)
                             )
                             val serverTitle = if (category.lowercase().toString() == "servers") server.country else server.server_name
-                            Text(text = serverTitle!! + server.ping,
+                            Text(text = serverTitle!!,
                                 style = TextStyle(
                                     fontSize = 16.sp,
                                     color = MaterialTheme.colorScheme.primary

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

@@ -80,6 +80,7 @@ import com.vpn.fastestvpnservice.beans.Server
 import com.vpn.fastestvpnservice.customItems.CountryItem
 import com.vpn.fastestvpnservice.customItems.ServerItem
 import com.vpn.fastestvpnservice.customItems.ServerSearchItem
+import com.vpn.fastestvpnservice.customItems.calculatePing
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.AddTextSettings
 import com.vpn.fastestvpnservice.sealedClass.Screen
@@ -536,6 +537,7 @@ fun ColumnScope.ShowAllLocationsList(
 
     val pagerState = rememberPagerState(pageCount = { serverData.size })
     val selectedIndex by remember { derivedStateOf { pagerState.currentPage } }
+    var indexTab = serverListViewModel.liveDataPagerIndex.observeAsState().value
     val scope = rememberCoroutineScope()
     val data = basePreferenceHelper.getServerData()
     val context = LocalContext.current
@@ -578,32 +580,32 @@ fun ColumnScope.ShowAllLocationsList(
             Tab(
                 selected = selectedIndex == index1,
                 onClick = {
-                    Toast.makeText(
-                        context, "$selectedIndex :: $index1", Toast.LENGTH_SHORT
-                    ).show()
+//                    serverListViewModel.setPagerIndex(index1)
                     scope.launch {
                         pagerState.animateScrollToPage(index1)
-
-                        val filterServersData =
-                            if (data[index1].name?.lowercase().toString() == "servers") {
-                                data.get(index1).servers?.let {
-                                    serverListViewModel.filterServersByISO(
-                                        it
-                                    )
-                                }
-                            }
-                            else {
-                                data.get(index1).servers?.let {
-                                    serverListViewModel.filterServersByStreamingServers(
-                                        it
-                                    )
-                                }
-                            }
-
-                        serverListViewModel._mutableLiveDataGetServers.value = filterServersData
-                        if (filterServersData != null) {
-                            filterServersList = filterServersData
-                        }
+//                        Toast.makeText(
+//                            context, "indexTab = $indexTab , index1 = $index1", Toast.LENGTH_SHORT
+//                        ).show()
+//                        val filterServersData =
+//                            if (data[index1].name?.lowercase().toString() == "servers") {
+//                                data.get(index1).servers?.let {
+//                                    serverListViewModel.filterServersByISO(
+//                                        it
+//                                    )
+//                                }
+//                            }
+//                            else {
+//                                data.get(index1).servers?.let {
+//                                    serverListViewModel.filterServersByStreamingServers(
+//                                        it
+//                                    )
+//                                }
+//                            }
+//
+////                        serverListViewModel._mutableLiveDataGetServers.value = filterServersData
+//                        if (filterServersData != null) {
+//                            filterServersList = filterServersData
+//                        }
                     }
                 },
                 selectedContentColor = Color.White,
@@ -647,6 +649,7 @@ fun ColumnScope.ShowAllLocationsList(
             .background(Color.Transparent),
         userScrollEnabled = false
     ) { serverTabPager ->
+        Log.d("serverTabPager = ", "$serverTabPager")
         CompositionLocalProvider(
             LocalOverscrollConfiguration provides null
         ) {
@@ -686,7 +689,7 @@ fun ColumnScope.ShowAllLocationsList(
                     CompositionLocalProvider(
                         LocalOverscrollConfiguration provides null
                     ) {
-                            if (data[serverTabPager].name?.lowercase().toString() == "servers") {
+                        if (data[serverTabPager].name?.lowercase().toString() == "servers") {
                             filterServersList = data.get(serverTabPager).servers?.let {
                                 serverListViewModel.filterServersByISO(
                                     it
@@ -709,6 +712,9 @@ fun ColumnScope.ShowAllLocationsList(
                         LazyColumn() {
 //                            Log.d("test_servers_size","size " + filterServersList?.size.toString())
                             items(items = filterServersList) { country ->
+                                calculatePing(country) {
+                                    country.ping = it
+                                }
                                 CountryItem(server = country, data[serverTabPager].name!!)
                             }
                         }

+ 1 - 4
app/src/main/java/com/vpn/fastestvpnservice/viewmodels/ServerListViewModel.kt

@@ -289,9 +289,6 @@ class ServerListViewModel(context: Context): ViewModel() {
             it.server_name
         }
 
-        Log.d("streaming_servers t", distinctBy.size.toString())
-
-
         serverprotocol.groupBy(Server::server_name).mapValues { entry ->
             for ((index, value) in distinctBy.withIndex()) {
                 if (entry.key == value.server_name) {
@@ -315,7 +312,7 @@ class ServerListViewModel(context: Context): ViewModel() {
             }
         }
 
-        Log.d("streaming_servers t", distinctBy.size.toString())
+//        Log.d("streaming_servers t", distinctBy.size.toString())
         return (distinctBy as ArrayList<Server>)
     }