AIRA-android/app/src/main/java/sushi/hardcore/aira/AIRADatabase.kt

45 lines
2.2 KiB
Kotlin
Raw Normal View History

2021-01-26 19:45:18 +01:00
package sushi.hardcore.aira
import sushi.hardcore.aira.background_service.Contact
object AIRADatabase {
2021-08-14 14:50:32 +02:00
external fun initLogging(): Boolean
2021-01-26 19:45:18 +01:00
external fun isIdentityProtected(databaseFolder: String): Boolean
2021-08-14 14:50:32 +02:00
external fun getIdentityName(databaseFolder: String): String?
2021-01-26 19:45:18 +01:00
external fun loadIdentity(databaseFolder: String, password: ByteArray?): Boolean
2021-05-27 20:15:03 +02:00
external fun addContact(name: String, avatarUuid: String?, publicKey: ByteArray): Contact?
2021-01-26 19:45:18 +01:00
external fun removeContact(uuid: String): Boolean
external fun loadContacts(): ArrayList<Contact>?
external fun setVerified(uuid: String): Boolean
external fun setContactSeen(contactUuid: String, seen: Boolean): Boolean
external fun changeContactName(contactUuid: String, newName: String): Boolean
2021-05-27 20:15:03 +02:00
external fun setContactAvatar(contactUuid: String, avatarUuid: String?): Boolean
2021-06-16 20:57:11 +02:00
external fun storeMsg(contactUuid: String, outgoing: Boolean, timestamp: Long, data: ByteArray): Boolean
2021-01-26 19:45:18 +01:00
external fun storeFile(contactUuid: String?, data: ByteArray): ByteArray?
external fun loadMsgs(uuid: String, offset: Int, count: Int): ArrayList<ChatItem>?
external fun loadFile(rawUuid: ByteArray): ByteArray?
external fun deleteConversation(contactUuid: String): Boolean
2021-05-27 20:15:03 +02:00
external fun clearCache()
2021-01-26 19:45:18 +01:00
external fun getIdentityPublicKey(): ByteArray
external fun getIdentityFingerprint(): String
2021-05-14 11:43:51 +02:00
external fun getUsePadding(): Boolean
external fun setUsePadding(usePadding: Boolean): Boolean
2021-05-27 20:15:03 +02:00
external fun storeAvatar(avatar: ByteArray): String?
external fun getAvatar(avatarUuid: String): ByteArray?
2021-01-26 19:45:18 +01:00
external fun changeName(newName: String): Boolean
external fun changePassword(databaseFolder: String, oldPassword: ByteArray?, newPassword: ByteArray?): Boolean
2021-05-27 20:15:03 +02:00
external fun setIdentityAvatar(databaseFolder: String, avatar: ByteArray): Boolean
external fun removeIdentityAvatar(databaseFolder: String): Boolean
external fun getIdentityAvatar(databaseFolder: String): ByteArray?
2021-08-14 14:50:32 +02:00
fun init() {
System.loadLibrary("aira")
initLogging()
}
2021-05-27 20:15:03 +02:00
fun loadAvatar(avatarUuid: String?): ByteArray? {
return avatarUuid?.let {
getAvatar(it)
}
}
2021-01-26 19:45:18 +01:00
}