RxSharedPreferencesMigration

interface RxSharedPreferencesMigration<T : Any?>


Client implemented migration interface.

Summary

Public functions

Single<T>
migrate(
    sharedPreferencesView: <Error class: unknown class>,
    currentData: T
)

Maps SharedPreferences into T.

open Single<Boolean>
shouldMigrate(currentData: T)

Whether or not the migration should be run.

Public functions

migrate

fun migrate(
    sharedPreferencesView: <Error class: unknown class>,
    currentData: T
): Single<T>

Maps SharedPreferences into T. Implementations should be idempotent since this may be called multiple times. See DataMigration.migrate for more information. The method accepts a SharedPreferencesView which is the view of the SharedPreferences to migrate from (limited to keysToMigrate) and a T which represent the current data. The function must return the migrated data.

If SharedPreferences is empty or does not contain any keys which you specified, this callback will not run.

Parameters
sharedPreferencesView: <Error class: unknown class>

the current state of the SharedPreferences

currentData: T

the most recently persisted data

Returns
Single<T>

a Single of the updated data

shouldMigrate

Added in 1.0.0
open fun shouldMigrate(currentData: T): Single<Boolean>

Whether or not the migration should be run. This can be used to skip a read from the SharedPreferences.

Parameters
currentData: T

the most recently persisted data

Returns
Single<Boolean>

a Single indicating whether or not the migration should be run.