40 lines
1.0 KiB
Kotlin
40 lines
1.0 KiB
Kotlin
package dev.lonami.talaria.data
|
|
|
|
import dev.lonami.talaria.bindings.Native
|
|
import dev.lonami.talaria.model.Dialog
|
|
|
|
interface DialogRepository {
|
|
fun loadDialogs(): List<Dialog>;
|
|
}
|
|
|
|
class NativeDialogRepository : DialogRepository {
|
|
override fun loadDialogs(): List<Dialog> {
|
|
val dialogs = mutableListOf<Dialog>()
|
|
|
|
val dialogPtr = Native.getDialogs()
|
|
val dialogCount = Native.dialogCount(dialogPtr)
|
|
for (i in 0 until dialogCount) {
|
|
dialogs.add(
|
|
Dialog(
|
|
Native.dialogTitle(dialogPtr, i),
|
|
Native.dialogPacked(dialogPtr, i),
|
|
false
|
|
)
|
|
)
|
|
}
|
|
Native.freeDialogs(dialogPtr)
|
|
|
|
return dialogs
|
|
}
|
|
}
|
|
|
|
class MockDialogRepository : DialogRepository {
|
|
override fun loadDialogs(): List<Dialog> {
|
|
val dialogs = mutableListOf<Dialog>()
|
|
for (i in 0 until 10) {
|
|
dialogs.add(Dialog("Sample Dialog $i", "Sample Message $i", i == 0))
|
|
}
|
|
return dialogs
|
|
}
|
|
}
|