Browse Source

working on filter list

Khubaib 11 months ago
parent
commit
95afd011fa

+ 6 - 9
app/src/main/java/com/vpn/fastestvpnservice/screens/ServerListScreen.kt

@@ -290,7 +290,7 @@ fun ColumnScope.ShowRecommendedList(
         val smartLocationList: MutableList<Server> = ArrayList<Server>()
 
         var favList = serverListViewModel.liveDataGetFavList.observeAsState().value
-        favList = serverListViewModel.getFavList(isAlphabetList.value)
+        favList = serverListViewModel.getFavList(true)
 
 //        var ping by rememberSaveable { mutableIntStateOf(0) }
 //        fun updatePing(newPing: Int) {
@@ -460,17 +460,14 @@ fun ColumnScope.ShowRecommendedList(
                     }
                 } else {
 //                    val recommended2 = serverListViewModelSplash.liveDataGetRecommendedServers.value
-                    val recommended2 = prefHelper.getRecommendedList()
+//                    val recommended2 = prefHelper.getRecommendedList()
+                    val recommended2 = recommendedListFinalGlobal
                     recommended2?.forEachIndexed { index, server ->
                         Log.d("test_filter_list", "recommended2 => ${server.server_name}")
                     }
-
-                    if (recommended2 != null) {
-                        recommendedFilterList = recommended2
-
-                        recommendedFilterList.forEachIndexed { index, server ->
-                            Log.d("test_filter_list", "else => ${server.server_name}")
-                        }
+                    recommendedFilterList = recommended2 as ArrayList<Server>
+                    recommendedFilterList.forEachIndexed { index, server ->
+                        Log.d("test_filter_list", "else => ${server.server_name}")
                     }
                 }
             }

+ 2 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/SplashScreen.kt

@@ -55,6 +55,7 @@ import androidx.compose.ui.unit.sp
 import androidx.lifecycle.viewmodel.compose.viewModel
 import androidx.navigation.NavHostController
 import androidx.navigation.compose.rememberNavController
+import com.google.common.collect.ImmutableList
 import com.vpn.fastestvpnservice.R
 import com.vpn.fastestvpnservice.beans.Server
 import com.vpn.fastestvpnservice.beans.ServerData
@@ -69,6 +70,7 @@ import com.vpn.fastestvpnservice.viewmodels.SplashViewModel
 import kotlinx.coroutines.delay
 
 var recommendedListGlobal: ArrayList<Server> = ArrayList<Server>()
+var recommendedListFinalGlobal: List<Server> = emptyList()
 val smartLocationListGlobal: ArrayList<Server> = ArrayList<Server>()
 var serversListAllGlobal: ArrayList<Server> = ArrayList<Server>()
 var serversGroupListGlobal: ArrayList<ServerDataGlobal?> = ArrayList<ServerDataGlobal?>()

+ 22 - 3
app/src/main/java/com/vpn/fastestvpnservice/viewmodels/ServerListViewModel.kt

@@ -21,7 +21,9 @@ import com.vpn.fastestvpnservice.beans.ServerResponse
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.retrofit.RetrofitNetworkHandling
 import com.vpn.fastestvpnservice.retrofit.WebServiceFactory
+import com.vpn.fastestvpnservice.screens.CalculatePing
 import com.vpn.fastestvpnservice.screens.isAlphabetList
+import com.vpn.fastestvpnservice.screens.recommendedListFinalGlobal
 import com.vpn.fastestvpnservice.screens.recommendedListGlobal
 import com.vpn.fastestvpnservice.screens.serverListViewModelSplash
 import com.vpn.fastestvpnservice.screens.serversGroupListGlobal
@@ -116,11 +118,18 @@ class ServerListViewModel(context: Context): ViewModel() {
                         sortedDistance.get(i).ping = it
                     }
                     recommendedListGlobal.add(sortedDistance.get(i))
-                    Log.d("recommendedListGlobal", "SS:: server = ${sortedDistance.get(i).server_name}")
+                    Log.d("recommendedListGlobal", "SS:: server = ${sortedDistance.get(i).server_name} ${sortedDistance.get(i).ping}")
                 }
             }
 
+            recommendedListFinalGlobal = recommendedListGlobal
+
+            recommendedListFinalGlobal.forEachIndexed { index, server ->
+                Log.d("recommendedListGlobal F", "SS:: server = ${server.server_name} ${server.ping}")
+            }
+
             if (isAlphabetList.value) {
+                Log.d("test_filter_list", "inside flter: setRecommendedSmartServers")
                 recommendedListGlobal.sortBy {
                     it.server_name
                 }
@@ -618,7 +627,7 @@ class ServerListViewModel(context: Context): ViewModel() {
 
     }
 
-    fun getFavList(isAlphabet: Boolean = false): ArrayList<Server> {
+    fun getFavList(toReturn: Boolean = false): ArrayList<Server> {
         val tempList = ArrayList<Server>()
 
         preferencesHelper.getServerData().let {
@@ -635,6 +644,16 @@ class ServerListViewModel(context: Context): ViewModel() {
             }
         }
 
+//        tempList.forEachIndexed { index, server ->
+//            CalculatePing(server) {
+//                server.ping = it
+//            }
+//        }
+//
+//        if (toReturn) {
+//            _mutableLiveDataGetFavList.value = tempList
+//        }
+
         return tempList
     }
 
@@ -663,7 +682,7 @@ class ServerListViewModel(context: Context): ViewModel() {
 
         tempList.forEachIndexed { index1, server1 ->
             calculatePing(server1){
-//                Log.d("serverInfo_ping", "In: ${server1.server_name} $it")
+                Log.d("serverInfo_ping", "In: ${server1.server_name} $it")
                 server1.ping = it
             }
             tempList2.add(server1)