RxSharedPreferencesMigration


interface RxSharedPreferencesMigrationAny?>

Client implemented migration interface.

Summary

Public functions

Single
migrate(
    sharedPreferencesView: ,
    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: ,
    currentData: T
): Single

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: 

the current state of the SharedPreferences

currentData: T

the most recently persisted data

Returns
Single

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.