android-components / mozilla.components.service.sync.logins / SyncableLoginsStore

SyncableLoginsStore

data class SyncableLoginsStore : SyncableStore<SyncUnlockInfo> (source)

Wraps AsyncLoginsStorage instance along with a lazy encryption key.

This helper class lives here and not alongside AsyncLoginsStorage because we don't want to force a service-sync-logins dependency (which has a heavy native library dependency) on consumers of FirefoxSyncFeature.

Constructors

<init>

SyncableLoginsStore(store: AsyncLoginsStorage, key: () -> Deferred<String>)

Wraps AsyncLoginsStorage instance along with a lazy encryption key.

Properties

key

val key: () -> Deferred<String>

store

val store: AsyncLoginsStorage

Functions

sync

suspend fun sync(authInfo: SyncUnlockInfo): SyncStatus

Performs a sync.

withUnlocked

suspend fun <T> withUnlocked(block: suspend (AsyncLoginsStorage) -> T): T

Run some block which operates over an unlocked instance of AsyncLoginsStorage. Database is locked once block is done.