1// Signature format: 4.0 2package androidx.datastore.core { 3 4 public final class CorruptionException extends java.io.IOException { 5 ctor public CorruptionException(String message, optional Throwable? cause); 6 } 7 8 public interface DataMigration<T> { 9 method public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit> p); 10 method public suspend Object? migrate(T? currentData, kotlin.coroutines.Continuation<? super T> p); 11 method public suspend Object? shouldMigrate(T? currentData, kotlin.coroutines.Continuation<? super java.lang.Boolean> p); 12 } 13 14 public interface DataStore<T> { 15 method public kotlinx.coroutines.flow.Flow<T> getData(); 16 method public suspend Object? updateData(kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super T>,?> transform, kotlin.coroutines.Continuation<? super T> p); 17 property public abstract kotlinx.coroutines.flow.Flow<T> data; 18 } 19 20 public final class DataStoreFactory { 21 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<T>> migrations, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile); 22 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<T>> migrations, optional kotlinx.coroutines.CoroutineScope scope, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile); 23 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile); 24 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile); 25 field public static final androidx.datastore.core.DataStoreFactory INSTANCE; 26 } 27 28 public interface Serializer<T> { 29 method public T! getDefaultValue(); 30 method public suspend Object? readFrom(java.io.InputStream input, kotlin.coroutines.Continuation<? super T> p); 31 method public suspend Object? writeTo(T? t, java.io.OutputStream output, kotlin.coroutines.Continuation<? super kotlin.Unit> p); 32 property public abstract T! defaultValue; 33 } 34 35} 36 37package androidx.datastore.core.handlers { 38 39 public final class ReplaceFileCorruptionHandler<T> { 40 ctor public ReplaceFileCorruptionHandler(kotlin.jvm.functions.Function1<? super androidx.datastore.core.CorruptionException,? extends T> produceNewData); 41 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; 42 } 43 44} 45 46