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); 34 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Storage<T> storage, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler); 35 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); 36 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); 37 method @RequiresApi(android.os.Build.VERSION_CODES.N) public <T> androidx.datastore.core.DataStore<T> createInDeviceProtectedStorage(android.content.Context context, String fileName, androidx.datastore.core.Serializer<T> serializer); 38 method @RequiresApi(android.os.Build.VERSION_CODES.N) public <T> androidx.datastore.core.DataStore<T> createInDeviceProtectedStorage(android.content.Context context, String fileName, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler); 39 method @RequiresApi(android.os.Build.VERSION_CODES.N) public <T> androidx.datastore.core.DataStore<T> createInDeviceProtectedStorage(android.content.Context context, String fileName, 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); 40 method @RequiresApi(android.os.Build.VERSION_CODES.N) public <T> androidx.datastore.core.DataStore<T> createInDeviceProtectedStorage(android.content.Context context, String fileName, 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); 41 field public static final androidx.datastore.core.DataStoreFactory INSTANCE; 42 } 43 44 public final class DeviceProtectedDataStoreFile { 45 method @RequiresApi(android.os.Build.VERSION_CODES.N) public static java.io.File deviceProtectedDataStoreFile(android.content.Context, String fileName); 46 } 47 48 public final class FileStorage<T> implements androidx.datastore.core.Storage<T> { 49 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); 50 method public androidx.datastore.core.StorageConnection<T> createConnection(); 51 } 52 53 public interface InterProcessCoordinator { 54 method public kotlinx.coroutines.flow.Flow<kotlin.Unit> getUpdateNotifications(); 55 method public suspend Object? getVersion(kotlin.coroutines.Continuation<? super java.lang.Integer>); 56 method public suspend Object? incrementAndGetVersion(kotlin.coroutines.Continuation<? super java.lang.Integer>); 57 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>); 58 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>); 59 property public abstract kotlinx.coroutines.flow.Flow<kotlin.Unit> updateNotifications; 60 } 61 62 public final class InterProcessCoordinator_jvmKt { 63 method public static androidx.datastore.core.InterProcessCoordinator createSingleProcessCoordinator(java.io.File file); 64 } 65 66 public final class MultiProcessCoordinatorKt { 67 method public static androidx.datastore.core.InterProcessCoordinator createMultiProcessCoordinator(kotlin.coroutines.CoroutineContext context, java.io.File file); 68 } 69 70 public final class MultiProcessDataStoreFactory { 71 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); 72 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); 73 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); 74 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile); 75 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Storage<T> storage); 76 method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Storage<T> storage, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler); 77 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); 78 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); 79 field public static final androidx.datastore.core.MultiProcessDataStoreFactory INSTANCE; 80 } 81 82 public interface ReadScope<T> extends androidx.datastore.core.Closeable { 83 method public suspend Object? readData(kotlin.coroutines.Continuation<? super T>); 84 } 85 86 public interface Serializer<T> { 87 method public T getDefaultValue(); 88 method public suspend Object? readFrom(java.io.InputStream input, kotlin.coroutines.Continuation<? super T>); 89 method public suspend Object? writeTo(T t, java.io.OutputStream output, kotlin.coroutines.Continuation<? super kotlin.Unit>); 90 property public abstract T defaultValue; 91 } 92 93 public interface Storage<T> { 94 method public androidx.datastore.core.StorageConnection<T> createConnection(); 95 } 96 97 public interface StorageConnection<T> extends androidx.datastore.core.Closeable { 98 method public androidx.datastore.core.InterProcessCoordinator getCoordinator(); 99 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>); 100 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>); 101 property public abstract androidx.datastore.core.InterProcessCoordinator coordinator; 102 } 103 104 public final class StorageConnectionKt { 105 method public static suspend <T> Object? readData(androidx.datastore.core.StorageConnection<T>, kotlin.coroutines.Continuation<? super T>); 106 method public static suspend <T> Object? writeData(androidx.datastore.core.StorageConnection<T>, T value, kotlin.coroutines.Continuation<? super kotlin.Unit>); 107 } 108 109 public interface WriteScope<T> extends androidx.datastore.core.ReadScope<T> { 110 method public suspend Object? writeData(T value, kotlin.coroutines.Continuation<? super kotlin.Unit>); 111 } 112 113} 114 115package androidx.datastore.core.handlers { 116 117 public final class ReplaceFileCorruptionHandler<T> { 118 ctor public ReplaceFileCorruptionHandler(kotlin.jvm.functions.Function1<? super androidx.datastore.core.CorruptionException,? extends T> produceNewData); 119 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; 120 } 121 122} 123 124