2022-03-08 11:05:03 -08:00
|
|
|
package co.electriccoin.zcash.ui.preference
|
2021-11-12 04:09:30 -08:00
|
|
|
|
|
|
|
import cash.z.ecc.sdk.model.PersistableWallet
|
|
|
|
import co.electriccoin.zcash.preference.api.PreferenceProvider
|
|
|
|
import co.electriccoin.zcash.preference.model.entry.Key
|
|
|
|
import co.electriccoin.zcash.preference.model.entry.PreferenceDefault
|
|
|
|
import org.json.JSONObject
|
|
|
|
|
|
|
|
data class PersistableWalletPreferenceDefault(
|
|
|
|
override val key: Key
|
|
|
|
) : PreferenceDefault<PersistableWallet?> {
|
|
|
|
|
|
|
|
override suspend fun getValue(preferenceProvider: PreferenceProvider) =
|
|
|
|
preferenceProvider.getString(key)?.let { PersistableWallet.from(JSONObject(it)) }
|
|
|
|
|
|
|
|
override suspend fun putValue(
|
|
|
|
preferenceProvider: PreferenceProvider,
|
|
|
|
newValue: PersistableWallet?
|
|
|
|
) = preferenceProvider.putString(key, newValue?.toJson()?.toString())
|
|
|
|
}
|