Skip to content
Snippets Groups Projects
Commit 27623edb authored by Kamal Bramwell's avatar Kamal Bramwell
Browse files

Initialize Crust with UD instance

parent fa1a0629
No related branches found
No related tags found
No related merge requests found
package io.xxlabs.messenger.backup.bindings
import bindings.UserDiscovery
import io.xxlabs.messenger.backup.data.restore.RestoreLogger
import io.xxlabs.messenger.bindings.wrapper.contact.ContactWrapperBase
interface BackupService {
fun initializeCrustIntegration(userDiscovery: UserDiscovery, receptionRsaPrivKey: ByteArray)
val backupFilePath: String
/**
* Assists in debugging restore-related issues.
......
package io.xxlabs.messenger.backup.bindings
import bindings.UserDiscovery
import io.xxlabs.messenger.backup.data.restore.RestoreLogger
import io.xxlabs.messenger.bindings.listeners.MessageReceivedListener
import io.xxlabs.messenger.bindings.wrapper.contact.ContactWrapperBase
......@@ -28,6 +29,13 @@ class BindingsBackupMediator @Inject constructor(
private val restoreHandler =
BindingsRestoreHandler(preferences, daoRepo, messageReceivedListener, backupHandler)
override fun initializeCrustIntegration(
userDiscovery: UserDiscovery,
receptionRsaPrivKey: ByteArray
) {
}
override val backupFilePath: String
get() = File(appContext().filesDir, BACKUP_FILE_NAME).path
......
......@@ -14,7 +14,7 @@ abstract class BackupLocationRepository(
backupService: BackupService,
) : AccountBackupDataSource {
private val crustApi = BindingsCrustMediator()
protected val crustApi = BindingsCrustMediator()
protected val googleDrive = GoogleDrive.getInstance(backupService, preferences)
protected val dropbox = Dropbox.getInstance(backupService, preferences)
......
package io.xxlabs.messenger.backup.data.backup
import bindings.UserDiscovery
import io.xxlabs.messenger.backup.bindings.BackupService
import io.xxlabs.messenger.backup.data.BackupLocationRepository
import io.xxlabs.messenger.backup.model.AccountBackup
......@@ -15,6 +16,16 @@ class BackupMediator @Inject constructor(
BackupService by backupService,
BackupTaskPublisher by backupTaskPublisher
{
override fun initializeCrustIntegration(
userDiscovery: UserDiscovery,
receptionRsaPrivKey: ByteArray
) {
crustApi.apply {
udManager = userDiscovery
receptionRsaPrivateKey = receptionRsaPrivKey
}
}
private val settingsHandler: BackupPreferencesDelegate by lazy {
BackupPreferencesDelegate(preferences, this)
}
......
......@@ -3,6 +3,7 @@ package io.xxlabs.messenger.repository.client
import android.content.Context
import bindings.Bindings
import bindings.NetworkHealthCallback
import bindings.UserDiscovery
import com.google.android.gms.tasks.OnCompleteListener
import com.google.firebase.messaging.FirebaseMessaging
import io.reactivex.Maybe
......@@ -224,6 +225,7 @@ class ClientRepository @Inject constructor(
try {
udWrapperBindings = BindingsWrapperBindings
.newUserDiscovery(clientWrapper) as UserDiscoveryWrapperBindings
initializeCrust(udWrapperBindings.userDiscovery)
emitter.onSuccess(true)
} catch (e: Exception) {
emitter.onError(e)
......@@ -231,6 +233,13 @@ class ClientRepository @Inject constructor(
}
}
private fun initializeCrust(userDiscovery: UserDiscovery) {
backupService.initializeCrustIntegration(
userDiscovery,
clientWrapper.client.user.receptionRSAPrivateKeyPem
)
}
override fun isLoggedIn(): Single<Boolean> {
return hasInitialized()
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment