insert fetched conversations in db

This commit is contained in:
tibbi 2020-05-30 18:23:54 +02:00
parent f638fa06f2
commit 7a7b1aab32
3 changed files with 17 additions and 3 deletions

View File

@ -221,12 +221,13 @@ fun Context.getConversations(): ArrayList<Conversation> {
val photoUri = if (phoneNumbers.size == 1) simpleContactHelper.getPhotoUriFromPhoneNumber(phoneNumbers.first()) else "" val photoUri = if (phoneNumbers.size == 1) simpleContactHelper.getPhotoUriFromPhoneNumber(phoneNumbers.first()) else ""
val isGroupConversation = phoneNumbers.size > 1 val isGroupConversation = phoneNumbers.size > 1
val read = cursor.getIntValue(Threads.READ) == 1 val read = cursor.getIntValue(Threads.READ) == 1
val conversation = Conversation(0, id, snippet, date.toInt(), read, title, photoUri, isGroupConversation, phoneNumbers.first()) val conversation = Conversation(null, id, snippet, date.toInt(), read, title, photoUri, isGroupConversation, phoneNumbers.first())
conversations.add(conversation) conversations.add(conversation)
} }
conversations.sortByDescending { it.date } conversations.sortByDescending { it.date }
conversationsDB.insertAll(conversations)
return conversations return conversations
} }

View File

@ -1,6 +1,19 @@
package com.simplemobiletools.smsmessenger.interfaces package com.simplemobiletools.smsmessenger.interfaces
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import com.simplemobiletools.smsmessenger.models.Conversation
@Dao @Dao
interface ConversationsDao interface ConversationsDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insert(conversation: Conversation): Long
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertAll(conversations: List<Conversation>)
@Query("SELECT * FROM conversations")
fun getAll(): List<Conversation>
}

View File

@ -5,7 +5,7 @@ import androidx.room.Entity
import androidx.room.Index import androidx.room.Index
import androidx.room.PrimaryKey import androidx.room.PrimaryKey
@Entity(tableName = "conversations", indices = [(Index(value = ["id"], unique = true))]) @Entity(tableName = "conversations", indices = [(Index(value = ["system_id"], unique = true))])
data class Conversation( data class Conversation(
@PrimaryKey(autoGenerate = true) var id: Long?, @PrimaryKey(autoGenerate = true) var id: Long?,
@ColumnInfo(name = "system_id") var system_id: Int, @ColumnInfo(name = "system_id") var system_id: Int,