1// Signature format: 4.0 2package androidx.datastore.core { 3 4 public interface Closeable { 5 method public void close(); 6 } 7 8 public final class CloseableKt { 9 method public static inline <T extends androidx.datastore.core.Closeable, R> R use(T, kotlin.jvm.functions.Function1<? super T,? extends R> block); 10 } 11 12 public final class CorruptionException extends java.io.IOException { 13 ctor public CorruptionException(String message, optional Throwable? cause); 14 } 15 16 public interface DataMigration<T> { 17 method public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit>); 18 method public suspend Object? migrate(T currentData, kotlin.coroutines.Continuation<? super T>); 19 method public suspend Object? shouldMigrate(T currentData, kotlin.coroutines.Continuation<? super java.lang.Boolean>); 20 } 21 22 public interface DataStore<T> { 23 method public kotlinx.coroutines.flow.Flow<T> getData(); 24 method public suspend Object? updateData(kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super T>,? extends java.lang.Object?> transform, kotlin.coroutines.Continuation<? super T>); 25 property public abstract kotlinx.coroutines.flow.Flow<T> data; 26 } 27 28 public final class DataStoreFactory { 29 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); 30 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); 31 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); 32 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile); 33 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Storage<T> storage, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<T>> migrations, optional kotlinx.coroutines.CoroutineScope scope); 34 field public static final androidx.datastore.core.DataStoreFactory INSTANCE; 35 } 36 37 public final class FileStorage<T> implements androidx.datastore.core.Storage<T> { 38 ctor public FileStorage(androidx.datastore.core.Serializer<T> serializer, optional kotlin.jvm.functions.Function1<? super java.io.File,? extends androidx.datastore.core.InterProcessCoordinator> coordinatorProducer, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile); 39 method public androidx.datastore.core.StorageConnection<T> createConnection(); 40 } 41 42 public interface InterProcessCoordinator { 43 method public kotlinx.coroutines.flow.Flow<kotlin.Unit> getUpdateNotifications(); 44 method public suspend Object? getVersion(kotlin.coroutines.Continuation<? super java.lang.Integer>); 45 method public suspend Object? incrementAndGetVersion(kotlin.coroutines.Continuation<? super java.lang.Integer>); 46 method public suspend <T> Object? lock(kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super T>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super T>); 47 method public suspend <T> Object? tryLock(kotlin.jvm.functions.Function2<? super java.lang.Boolean,? super kotlin.coroutines.Continuation<? super T>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super T>); 48 property public abstract kotlinx.coroutines.flow.Flow<kotlin.Unit> updateNotifications; 49 } 50 51 public final class InterProcessCoordinator_jvmKt { 52 method public static androidx.datastore.core.InterProcessCoordinator createSingleProcessCoordinator(java.io.File file); 53 } 54 55 public final class MultiProcessCoordinatorKt { 56 method public static androidx.datastore.core.InterProcessCoordinator createMultiProcessCoordinator(kotlin.coroutines.CoroutineContext context, java.io.File file); 57 } 58 59 public final class MultiProcessDataStoreFactory { 60 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); 61 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); 62 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); 63 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile); 64 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Storage<T> storage); 65 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Storage<T> storage, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler); 66 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Storage<T> storage, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<T>> migrations); 67 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Storage<T> storage, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<T>> migrations, optional kotlinx.coroutines.CoroutineScope scope); 68 field public static final androidx.datastore.core.MultiProcessDataStoreFactory INSTANCE; 69 } 70 71 public interface ReadScope<T> extends androidx.datastore.core.Closeable { 72 method public suspend Object? readData(kotlin.coroutines.Continuation<? super T>); 73 } 74 75 public interface Serializer<T> { 76 method public T getDefaultValue(); 77 method public suspend Object? readFrom(java.io.InputStream input, kotlin.coroutines.Continuation<? super T>); 78 method public suspend Object? writeTo(T t, java.io.OutputStream output, kotlin.coroutines.Continuation<? super kotlin.Unit>); 79 property public abstract T defaultValue; 80 } 81 82 public interface Storage<T> { 83 method public androidx.datastore.core.StorageConnection<T> createConnection(); 84 } 85 86 public interface StorageConnection<T> extends androidx.datastore.core.Closeable { 87 method public androidx.datastore.core.InterProcessCoordinator getCoordinator(); 88 method public suspend <R> Object? readScope(kotlin.jvm.functions.Function3<? super androidx.datastore.core.ReadScope<T>,? super java.lang.Boolean,? super kotlin.coroutines.Continuation<? super R>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super R>); 89 method public suspend Object? writeScope(kotlin.jvm.functions.Function2<? super androidx.datastore.core.WriteScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super kotlin.Unit>); 90 property public abstract androidx.datastore.core.InterProcessCoordinator coordinator; 91 } 92 93 public final class StorageConnectionKt { 94 method public static suspend <T> Object? readData(androidx.datastore.core.StorageConnection<T>, kotlin.coroutines.Continuation<? super T>); 95 method public static suspend <T> Object? writeData(androidx.datastore.core.StorageConnection<T>, T value, kotlin.coroutines.Continuation<? super kotlin.Unit>); 96 } 97 98 public interface WriteScope<T> extends androidx.datastore.core.ReadScope<T> { 99 method public suspend Object? writeData(T value, kotlin.coroutines.Continuation<? super kotlin.Unit>); 100 } 101 102} 103 104package androidx.datastore.core.handlers { 105 106 public final class ReplaceFileCorruptionHandler<T> { 107 ctor public ReplaceFileCorruptionHandler(kotlin.jvm.functions.Function1<? super androidx.datastore.core.CorruptionException,? extends T> produceNewData); 108 method @kotlin.jvm.Throws(exceptionClasses=IOException::class) public suspend Object? handleCorruption(androidx.datastore.core.CorruptionException ex, kotlin.coroutines.Continuation<? super T>) throws java.io.IOException; 109 } 110 111} 112 113