1// Signature format: 4.0 2package androidx.datastore { 3 4 public final class CorruptionException extends java.io.IOException { 5 ctor public CorruptionException(String message, Throwable? cause); 6 } 7 8 public interface CorruptionHandler<T> { 9 method public suspend Object? handleCorruption(androidx.datastore.core.CorruptionException ex, kotlin.coroutines.Continuation<? super T> p); 10 } 11 12 public interface DataMigration<T> { 13 method public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit> p); 14 method public suspend Object? migrate(T? currentData, kotlin.coroutines.Continuation<? super T> p); 15 method public suspend Object? shouldMigrate(T? currentData, kotlin.coroutines.Continuation<? super java.lang.Boolean> p); 16 } 17 18 public interface DataStore<T> { 19 method public kotlinx.coroutines.flow.Flow<T> getData(); 20 method public suspend Object? updateData(kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super T>,?> transform, kotlin.coroutines.Continuation<? super T> p); 21 property public abstract kotlinx.coroutines.flow.Flow<T> data; 22 } 23 24 public final class DataStoreFactory { 25 ctor public DataStoreFactory(); 26 method public <T> androidx.datastore.core.DataStore<T> create(kotlin.jvm.functions.Function0<? extends java.io.File> produceFile, androidx.datastore.core.Serializer<T> serializer); 27 method public <T> androidx.datastore.core.DataStore<T> create(kotlin.jvm.functions.Function0<? extends java.io.File> produceFile, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler); 28 method public <T> androidx.datastore.core.DataStore<T> create(kotlin.jvm.functions.Function0<? extends java.io.File> produceFile, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends kotlin.jvm.functions.Function0<? extends androidx.datastore.core.DataMigration<T>>> migrationProducers); 29 method public <T> androidx.datastore.core.DataStore<T> create(kotlin.jvm.functions.Function0<? extends java.io.File> produceFile, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends kotlin.jvm.functions.Function0<? extends androidx.datastore.core.DataMigration<T>>> migrationProducers, optional kotlinx.coroutines.CoroutineScope scope); 30 } 31 32 public interface Serializer<T> { 33 method public T! readFrom(java.io.InputStream input); 34 method public void writeTo(T? t, java.io.OutputStream output); 35 } 36 37} 38 39package androidx.datastore.handlers { 40 41 public final class ReplaceFileCorruptionHandler<T> implements androidx.datastore.core.CorruptionHandler<T> { 42 ctor public ReplaceFileCorruptionHandler(kotlin.jvm.functions.Function1<? super androidx.datastore.core.CorruptionException,? extends T> produceNewData); 43 method @kotlin.jvm.Throws(exceptionClasses=IOException::class) public suspend Object? handleCorruption(androidx.datastore.core.CorruptionException ex, kotlin.coroutines.Continuation<? super T> p) throws java.io.IOException; 44 } 45 46} 47 48package androidx.datastore.migrations { 49 50 public interface MigrationFromSharedPreferences<T> { 51 method public suspend Object? migrate(SharedPreferencesView prefs, T? currentData, kotlin.coroutines.Continuation<? super T> p); 52 method public default suspend Object? shouldMigrate(T? currentData, kotlin.coroutines.Continuation<? super java.lang.Boolean> p); 53 } 54 55 public final class SharedPreferencesMigration { 56 method public static <T> kotlin.jvm.functions.Function0<androidx.datastore.core.DataMigration<T>> SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, androidx.datastore.migrations.MigrationFromSharedPreferences<T> migration, optional java.util.Set<java.lang.String>? keysToMigrate, optional boolean deleteEmptyPreferences); 57 } 58 59 public final class SharedPreferencesView { 60 ctor public SharedPreferencesView(android.content.SharedPreferences prefs, java.util.Set<java.lang.String> keySet); 61 method public operator boolean contains(String key); 62 method public java.util.Map<java.lang.String,java.lang.Object> getAll(); 63 method public boolean getBoolean(String key, boolean defValue); 64 method public float getFloat(String key, float defValue); 65 method public int getInt(String key, int defValue); 66 method public long getLong(String key, long defValue); 67 method public String? getString(String key, optional String? defValue); 68 method public java.util.Set<java.lang.String>? getStringSet(String key, optional java.util.Set<java.lang.String>? defValues); 69 } 70 71} 72 73