diff options
author | Jelena Petrovic <jelenapetrovic.7119@gmail.com> | 2022-12-08 01:40:00 +0100 |
---|---|---|
committer | Jelena Petrovic <jelenapetrovic.7119@gmail.com> | 2022-12-08 01:40:00 +0100 |
commit | 3ea82a33409b1f6a6c1cec19b11648e3f15ea625 (patch) | |
tree | 5bd74c4de605dd3bc606cd61113d44496c38f9af | |
parent | a8aac179f0dd0a605baa859d7c8753d441f2f752 (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.kt | 10 |
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 } |