|
@@ -186,6 +186,7 @@ class ServerListViewModel(context: Context): ViewModel() {
|
|
|
|
|
|
fun setCountryData() {
|
|
|
val data = preferencesHelper.getServerData()
|
|
|
+ val getServersIdList = preferencesHelper.getServersId()
|
|
|
|
|
|
serversListGlobal.clear()
|
|
|
serversListAllGlobal.clear()
|
|
@@ -224,6 +225,18 @@ class ServerListViewModel(context: Context): ViewModel() {
|
|
|
serverDataGlobal?.servers?.let { serversListAllGlobal.addAll(it) }
|
|
|
}
|
|
|
|
|
|
+ serversListGlobal.let {
|
|
|
+ it.forEach {
|
|
|
+ it?.servers?.forEachIndexed { index, server ->
|
|
|
+ if (getServersIdList?.any { it == server.id } == true) {
|
|
|
+ Log.d("serversListGlobal", "match - ${server.server_name} ${server.id}")
|
|
|
+ server.isFavourited = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
_mutableLiveDataGetServersGlobal.value = serversListGlobal
|
|
|
mutableLiveDataAllServers.value = serversListAllGlobal
|
|
|
}
|
|
@@ -709,11 +722,22 @@ class ServerListViewModel(context: Context): ViewModel() {
|
|
|
|
|
|
fun getFavList(toReturn: Boolean = false): ArrayList<Server> {
|
|
|
val tempList = ArrayList<Server>()
|
|
|
+ val getServersIdList = preferencesHelper.getServersId()
|
|
|
+
|
|
|
+// preferencesHelper.getServerData().let {
|
|
|
+// it.forEach {
|
|
|
+// tempList.addAll(it.servers?.filter {
|
|
|
+// it.isFavourited == true
|
|
|
+// }!!)
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
preferencesHelper.getServerData().let {
|
|
|
it.forEach {
|
|
|
- tempList.addAll(it.servers?.filter {
|
|
|
- it.isFavourited == true
|
|
|
+ tempList.addAll(it.servers?.filter { server ->
|
|
|
+ getServersIdList?.any { id ->
|
|
|
+ server.id == id
|
|
|
+ } == true
|
|
|
}!!)
|
|
|
}
|
|
|
}
|
|
@@ -724,6 +748,11 @@ class ServerListViewModel(context: Context): ViewModel() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ tempList.forEachIndexed { index, server ->
|
|
|
+ server.isFavourited = true
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
// tempList.forEachIndexed { index, server ->
|
|
|
// CalculatePing(server) {
|
|
|
// server.ping = it
|
|
@@ -783,6 +812,24 @@ class ServerListViewModel(context: Context): ViewModel() {
|
|
|
val serversGroup = liveDataGroupServers.value
|
|
|
val filterServersList = ArrayList<ServerDataGlobal>()
|
|
|
|
|
|
+ val getServersIdList: ArrayList<Int>? = preferencesHelper.getServersId()
|
|
|
+ val tempListId = ArrayList<Int>()
|
|
|
+
|
|
|
+ getServersIdList?.let {
|
|
|
+ tempListId.addAll(it)
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!tempListId.any { it == server.id })
|
|
|
+ {
|
|
|
+ server.isFavourited = true
|
|
|
+ server.id?.let { tempListId.add(it) }
|
|
|
+ } else {
|
|
|
+ server.isFavourited = false
|
|
|
+ tempListId.remove(server.id)
|
|
|
+ }
|
|
|
+
|
|
|
+ preferencesHelper.setServersId(tempListId)
|
|
|
+
|
|
|
serverData.forEachIndexed { i, serverDataList ->
|
|
|
serverDataList.servers?.let {serverList ->
|
|
|
serverList.forEachIndexed { index, obj ->
|
|
@@ -803,7 +850,6 @@ class ServerListViewModel(context: Context): ViewModel() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
serversGroup?.forEachIndexed { i, serverDataList ->
|
|
|
serverDataList?.servers?.let {serverList ->
|
|
|
serverList.forEachIndexed { index, obj ->
|