aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelena Petrovic <jelenapetrovic.7119@gmail.com>2022-12-08 01:40:00 +0100
committerJelena Petrovic <jelenapetrovic.7119@gmail.com>2022-12-08 01:40:00 +0100
commit3ea82a33409b1f6a6c1cec19b11648e3f15ea625 (patch)
tree5bd74c4de605dd3bc606cd61113d44496c38f9af
parenta8aac179f0dd0a605baa859d7c8753d441f2f752 (diff)
Na listi cetova je redosled od novijih do starijih poruka #80
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt10
1 files changed, 8 insertions, 2 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt
index f1ce85e..8354a90 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt
@@ -216,6 +216,8 @@ class DBHelper :
}
fun getContacts(): MutableList<ChatPreview>? {
+ var mapChats:Map<Long,ChatPreview>
+ mapChats= mutableMapOf()
onCreate(db)
var sql="SELECT * FROM "+ CONTACTS_TABLE_NAME
var cursor=db?.rawQuery(sql,null)
@@ -225,10 +227,14 @@ class DBHelper :
var readIndex=cursor.getColumnIndexOrThrow("read")
var usernameIndex=cursor.getColumnIndexOrThrow("username")
while(cursor.moveToNext()){
- contactList.add(ChatPreview(cursor.getString(userIdIndex),cursor.getInt(readIndex)==1,cursor.getString(usernameIndex)))
+ var chat=ChatPreview(cursor.getString(userIdIndex),cursor.getInt(readIndex)==1,cursor.getString(usernameIndex))
+ var lastMessage=getLastMessage(chat.userId)?.usableTimeStamp!!.timeInMillis
+ mapChats[lastMessage]=chat
+ contactList.add(chat)
}
+ var sorted=mapChats.toSortedMap(kotlin.Comparator { o1, o2 -> (o2-o1).toInt() })
Log.d("main",contactList.size.toString())
- return contactList
+ return ArrayList<ChatPreview>(sorted.values).toMutableList()
}
return null
}