session-android/libsession/src/main/java/org/session/libsession/messaging/MessagingModuleConfiguratio...

33 lines
1.0 KiB
Kotlin

package org.session.libsession.messaging
import android.content.Context
import com.goterl.lazysodium.utils.KeyPair
import org.session.libsession.database.MessageDataProvider
import org.session.libsession.database.StorageProtocol
import org.session.libsession.utilities.ConfigFactoryProtocol
import org.session.libsession.utilities.Device
class MessagingModuleConfiguration(
val context: Context,
val storage: StorageProtocol,
val device: Device,
val messageDataProvider: MessageDataProvider,
val getUserED25519KeyPair: () -> KeyPair?,
val configFactory: ConfigFactoryProtocol,
) {
companion object {
@JvmStatic
val shared: MessagingModuleConfiguration
get() = context.getSystemService(MESSAGING_MODULE_SERVICE) as MessagingModuleConfiguration
const val MESSAGING_MODULE_SERVICE: String = "MessagingModuleConfiguration_MESSAGING_MODULE_SERVICE"
private lateinit var context: Context
@JvmStatic
fun configure(context: Context) {
this.context = context
}
}
}