SharedPreferencesMigrationKt

public final class SharedPreferencesMigrationKt


Summary

Public methods

static final @NonNull SharedPreferencesMigration<@NonNull Preferences>
SharedPreferencesMigration(
    Function0<SharedPreferences> produceSharedPreferences,
    Set<String> keysToMigrate
)

Creates a SharedPreferencesMigration for DataStore.

static final @NonNull SharedPreferencesMigration<@NonNull Preferences>
SharedPreferencesMigration(
    Context context,
    String sharedPreferencesName,
    Set<String> keysToMigrate
)

Creates a SharedPreferencesMigration for DataStore.

Public methods

SharedPreferencesMigration

public static final @NonNull SharedPreferencesMigration<@NonNull PreferencesSharedPreferencesMigration(
    Function0<SharedPreferences> produceSharedPreferences,
    Set<String> keysToMigrate
)

Creates a SharedPreferencesMigration for DataStore.

Note: This migration only supports the basic SharedPreferences types: boolean, float, int, long, string and string set. If the result of getAll contains other types, they will be ignored.

Parameters
Function0<SharedPreferences> produceSharedPreferences

Should return the instance of SharedPreferences to migrate from.

Set<String> keysToMigrate

The list of keys to migrate. The keys will be mapped to datastore.Preferences with their same values. If the key is already present in the new Preferences, the key will not be migrated again. If the key is not present in the SharedPreferences it will not be migrated. If keysToMigrate is not set, all keys will be migrated from the existing SharedPreferences.

SharedPreferencesMigration

public static final @NonNull SharedPreferencesMigration<@NonNull PreferencesSharedPreferencesMigration(
    Context context,
    String sharedPreferencesName,
    Set<String> keysToMigrate
)

Creates a SharedPreferencesMigration for DataStore.

If the SharedPreferences is empty once the migration completes, this migration will attempt to delete it.

Parameters
Context context

Context used for getting SharedPreferences.

String sharedPreferencesName

The name of the SharedPreferences.

Set<String> keysToMigrate

The list of keys to migrate. The keys will be mapped to datastore.Preferences with their same values. If the key is already present in the new Preferences, the key will not be migrated again. If the key is not present in the SharedPreferences it will not be migrated. If keysToMigrate is not set, all keys will be migrated from the existing SharedPreferences.