Talaria/app/src/main/java/dev/lonami/talaria/data/MessageRepository.kt

47 lines
1.3 KiB
Kotlin
Raw Normal View History

2022-10-11 16:10:54 +00:00
package dev.lonami.talaria.data
2022-10-29 11:06:38 +00:00
import uniffi.talaria.Message
import uniffi.talaria.getMessages
import java.time.Instant
2022-10-11 16:10:54 +00:00
2022-10-29 11:06:38 +00:00
interface MessageRepository {
fun loadMessages(chat: String): List<Message>
fun sendMessage(chat: String, message: String): Message
}
class NativeMessageRepository : MessageRepository {
override fun loadMessages(chat: String): List<Message> {
return getMessages(chat)
}
override fun sendMessage(chat: String, message: String): Message {
return uniffi.talaria.sendMessage(chat, message)
}
}
class MockMessageRepository(private var msgCounter: Int = 50) : MessageRepository {
override fun loadMessages(chat: String): List<Message> {
return (0 until 50).map {
Message(
id = it,
sender = "Alice",
text = "Testing",
date = Instant.now(),
editDate = null,
formatting = listOf(),
)
}.toList()
}
override fun sendMessage(chat: String, message: String): Message {
return Message(
id = msgCounter++,
sender = "You",
text = message,
date = Instant.now(),
editDate = null,
formatting = listOf(),
)
2022-10-11 16:10:54 +00:00
}
}