Browse Source

optimize fav server logic..

Khubaib 1 year ago
parent
commit
05d1e527f1

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

@@ -138,9 +138,18 @@ fun CountryItem(server: Server, category: String, navHostController: NavHostCont
         countrySize.let { size ->
                     if (size > 1) {
                         var locationsSize: Int = 0
-                        server.totalServers.let {
-                            locationsSize = it
+//                        server.totalServers.let {
+//                            locationsSize = it
+//                        }
+
+                        val countriesServersData = basePreferenceHelper.getServerData().get(0).servers
+                        countriesServersData?.let {
+                            val serversGroup = serverListViewModel.getServerGroupList(server, it)
+                            Log.d("test_compose_servers", "${server.server_name} = ${serversGroup.size}")
+                            locationsSize = serversGroup.size
                         }
+
+
                         Log.d("test_server_size", "${server.server_name} $locationsSize")
                         Column {
                             /* Country Location's Row */
@@ -192,7 +201,7 @@ fun CountryItem(server: Server, category: String, navHostController: NavHostCont
                                         .align(Alignment.CenterVertically)
                                 )
                                 Spacer(modifier = Modifier.weight(1F))
-                                Text(text = "${server.totalServers} locations",
+                                Text(text = "${locationsSize} locations",
                                     style = TextStyle(
                                         fontSize = 16.sp,
                                         color = colorResource(id = R.color.blue_text)
@@ -224,11 +233,10 @@ fun CountryItem(server: Server, category: String, navHostController: NavHostCont
 
                             /* Country Expandable's Row */
                             if (isServerExpanded) {
-                                val countriesServersData = basePreferenceHelper.getServerData().get(0).servers
-                                countriesServersData?.let {
+                                val countriesServersData1 = basePreferenceHelper.getServerData().get(0).servers
+                                countriesServersData1?.let {
                                     val serversGroup = serverListViewModel.getServerGroupList(server, it)
                                     ExpandableRow(server = serversGroup, navHostController)
-
                                 }
                             }
                         }

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

@@ -510,7 +510,7 @@ fun ServerSearchItem(server: Server, navHostController: NavHostController) {
             }) {
                 val favResponse = serverListViewModel.mutableLiveDataFavUnFav.observeAsState().value
                 favResponse?.let {
-                    Log.d("test_fav_response", it.message.toString())
+//                    Log.d("test_fav_response", it.message.toString())
                     splashViewModel.serverDataApi()
                     serverListViewModel.mutableLiveDataFavUnFav.value = null
                 }

+ 14 - 13
app/src/main/java/com/vpn/fastestvpnservice/screens/ServerListScreen.kt

@@ -326,21 +326,21 @@ fun ColumnScope.ShowRecommendedList(
 
         }
 
-        recommendedList.forEachIndexed { index, server ->
-            Log.d("test_server recm", "$index ${server.server_name}")
-        }
-
-        smartLocationList.forEachIndexed { index, server ->
-            Log.d("test_server smart", "$index ${server.server_name}")
-        }
+//        recommendedList.forEachIndexed { index, server ->
+//            Log.d("test_server recm", "$index ${server.server_name}")
+//        }
+//
+//        smartLocationList.forEachIndexed { index, server ->
+//            Log.d("test_server smart", "$index ${server.server_name}")
+//        }
 
         val liveServerData = serverListViewModel.liveDataGetServerData.observeAsState().value
         val favList = serverListViewModel.liveDataGetFavList.observeAsState().value
 
 
-        favList?.forEachIndexed { index, server ->
-            Log.d("test_server favList", "$index ${server.server_name}")
-        }
+//        favList?.forEachIndexed { index, server ->
+//            Log.d("test_server favList", "$index ${server.server_name}")
+//        }
         LazyColumn(
             modifier = Modifier
                 .padding(top = 14.dp),
@@ -375,9 +375,9 @@ fun ColumnScope.ShowRecommendedList(
                 }
             }
                 val fav = prefHelper.getServerData()
-                fav.forEachIndexed { index, serverData ->
-                    Log.d("getServerData", serverData.name.toString())
-                }
+//                fav.forEachIndexed { index, serverData ->
+//                    Log.d("getServerData", serverData.name.toString())
+//                }
 //                val filterData1 = fav.get(2).servers?.let {
 //                    serverListViewModel.filterServersByStreamingServers(
 //                        it
@@ -694,6 +694,7 @@ fun ColumnScope.ShowAllLocationsList(
                     CompositionLocalProvider(
                         LocalOverscrollConfiguration provides null
                     ) {
+                        Log.d("test_compose_servers", "serverTabPager = $serverTabPager")
                         filterServersList = if (data[serverTabPager].name?.lowercase().toString() == "servers") {
                             data.get(serverTabPager).servers?.let {
                                 serverListViewModel.filterServersByISO(

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

@@ -74,6 +74,7 @@ class ServerListViewModel(context: Context): ViewModel() {
     }
 
     fun filterServersByISO(serverlist: ArrayList<Server>): ArrayList<Server> {
+        Log.d("test_compose_servers", "serverTabPager = ${serverlist.size}")
 
         serverlist.forEachIndexed { index, server ->
             Log.d("serverlist_test", server.server_name + " , " + server.country)
@@ -413,7 +414,7 @@ class ServerListViewModel(context: Context): ViewModel() {
     }
 
     fun favAndUnFav(server: Server) {
-//        updateFavServer(server)
+        updateFavServer(server)
         WebServiceFactory.getInstance().setFavUnfav("${server.id}")
             .enqueue(RetrofitNetworkHandling<Any>(object :
                 RetrofitNetworkHandling.ResponseCallback<Any> {
@@ -532,6 +533,7 @@ class ServerListViewModel(context: Context): ViewModel() {
 //        }
 
         preferencesHelper.saveServerData(serverData)
+        _mutableLiveDataGetFavList.value = getFavList()
     }
 
 }