feat: add in config storage and injection to common places, managing lifecycle of native instances

This commit is contained in:
0x330a
2023-01-17 17:27:54 +11:00
parent 0729bdab20
commit 00fe77af8a
12 changed files with 161 additions and 20 deletions

View File

@@ -18,6 +18,7 @@ android {
dependencies {
implementation project(":libsignal")
implementation project(":libsession-util")
implementation project(":liblazysodium")
// implementation 'com.goterl:lazysodium-android:5.0.2@aar'
implementation "net.java.dev.jna:jna:5.8.0@aar"

View File

@@ -12,6 +12,7 @@ import org.session.libsession.messaging.jobs.JobQueue
import org.session.libsession.messaging.jobs.MessageReceiveParameters
import org.session.libsession.snode.SnodeAPI
import org.session.libsession.snode.SnodeModule
import org.session.libsession.utilities.ConfigFactoryProtocol
import org.session.libsignal.utilities.Log
import org.session.libsignal.utilities.Snode
import java.security.SecureRandom
@@ -20,7 +21,7 @@ import java.util.TimerTask
private class PromiseCanceledException : Exception("Promise canceled.")
class Poller {
class Poller(private val configFactory: ConfigFactoryProtocol) {
var userPublicKey = MessagingModuleConfiguration.shared.storage.getUserPublicKey() ?: ""
private var hasStarted: Boolean = false
private val usedSnodes: MutableSet<Snode> = mutableSetOf()

View File

@@ -0,0 +1,11 @@
package org.session.libsession.utilities
import network.loki.messenger.libsession_util.Contacts
import network.loki.messenger.libsession_util.UserProfile
interface ConfigFactoryProtocol {
val userConfig: UserProfile?
val contacts: Contacts?
fun saveUserConfigDump()
fun saveContactConfigDump()
}