|
@@ -37,6 +37,7 @@ import kotlinx.coroutines.Dispatchers
|
|
|
import kotlinx.coroutines.launch
|
|
|
import kotlinx.coroutines.withContext
|
|
|
import retrofit2.Call
|
|
|
+import java.lang.reflect.Array
|
|
|
|
|
|
class ServerListViewModel(context: Context): ViewModel() {
|
|
|
|
|
@@ -867,7 +868,7 @@ class ServerListViewModel(context: Context): ViewModel() {
|
|
|
mutableLiveDataGroupServers.value = serversGroup
|
|
|
}
|
|
|
|
|
|
- fun setRecentlyConnectedServer(server: Server) {
|
|
|
+ fun setRecentlyConnectedServer1(server: Server) {
|
|
|
val recentList = preferencesHelper.getRecentlyList()
|
|
|
val tempList = ArrayList<Server>()
|
|
|
recentList?.let { tempList.addAll(it) }
|
|
@@ -888,4 +889,48 @@ class ServerListViewModel(context: Context): ViewModel() {
|
|
|
preferencesHelper.setRecentlyList(tempList)
|
|
|
}
|
|
|
|
|
|
+ fun getRecentlyConnectedServer(): ArrayList<Server> {
|
|
|
+ val tempList = ArrayList<Server>()
|
|
|
+ val getRecentlyServersIdList = preferencesHelper.getRecentlyListId()
|
|
|
+
|
|
|
+ preferencesHelper.getServerData().let {
|
|
|
+ it.forEach {
|
|
|
+ tempList.addAll(it.servers?.filter { server ->
|
|
|
+ getRecentlyServersIdList?.any { id ->
|
|
|
+ server.id == id
|
|
|
+ } == true
|
|
|
+ }!!)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isAlphabetList.value) {
|
|
|
+ tempList.sortBy {
|
|
|
+ it.server_name
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return tempList
|
|
|
+ }
|
|
|
+
|
|
|
+ fun setRecentlyConnectedServer(server: Server) {
|
|
|
+ val recentList = preferencesHelper.getRecentlyListId()
|
|
|
+ val tempList = ArrayList<Int>()
|
|
|
+ recentList?.let { tempList.addAll(it) }
|
|
|
+
|
|
|
+ if (tempList.size == 0) {
|
|
|
+ server.id?.let { tempList.add(it) }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if (!tempList.any {
|
|
|
+ it == server.id
|
|
|
+ }) {
|
|
|
+ if (tempList.size != 5 && tempList.size < 5) {
|
|
|
+ server.id?.let { tempList.add(0, it) }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ preferencesHelper.setRecentlyListId(tempList)
|
|
|
+ }
|
|
|
+
|
|
|
}
|