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