1// Signature format: 4.0
2package androidx.room {
3
4  public class DatabaseConfiguration {
5    method public boolean isMigrationRequired(int fromVersion, int toVersion);
6    method @Deprecated public boolean isMigrationRequiredFrom(int version);
7    property public final boolean allowDestructiveMigrationForAllTables;
8    property public final boolean allowDestructiveMigrationOnDowngrade;
9    property public final boolean allowMainThreadQueries;
10    property public final java.util.List<? extends androidx.room.migration.AutoMigrationSpec> autoMigrationSpecs;
11    property public final java.util.List<? extends androidx.room.RoomDatabase.Callback>? callbacks;
12    property public final android.content.Context context;
13    property public final String? copyFromAssetPath;
14    property public final java.io.File? copyFromFile;
15    property public final java.util.concurrent.Callable<java.io.InputStream>? copyFromInputStream;
16    property public final androidx.room.RoomDatabase.JournalMode journalMode;
17    property public final androidx.room.RoomDatabase.MigrationContainer migrationContainer;
18    property public final boolean multiInstanceInvalidation;
19    property public final android.content.Intent? multiInstanceInvalidationServiceIntent;
20    property public final String? name;
21    property public final androidx.room.RoomDatabase.PrepackagedDatabaseCallback? prepackagedDatabaseCallback;
22    property public final kotlin.coroutines.CoroutineContext? queryCoroutineContext;
23    property public final java.util.concurrent.Executor queryExecutor;
24    property public final boolean requireMigration;
25    property public final androidx.sqlite.SQLiteDriver? sqliteDriver;
26    property public final androidx.sqlite.db.SupportSQLiteOpenHelper.Factory? sqliteOpenHelperFactory;
27    property public final java.util.concurrent.Executor transactionExecutor;
28    property public final java.util.List<?> typeConverters;
29    field public final boolean allowDestructiveMigrationForAllTables;
30    field public final boolean allowDestructiveMigrationOnDowngrade;
31    field public final boolean allowMainThreadQueries;
32    field public final java.util.List<androidx.room.migration.AutoMigrationSpec> autoMigrationSpecs;
33    field public final java.util.List<androidx.room.RoomDatabase.Callback>? callbacks;
34    field public final android.content.Context context;
35    field public final String? copyFromAssetPath;
36    field public final java.io.File? copyFromFile;
37    field public final java.util.concurrent.Callable<java.io.InputStream>? copyFromInputStream;
38    field public final androidx.room.RoomDatabase.JournalMode journalMode;
39    field public final androidx.room.RoomDatabase.MigrationContainer migrationContainer;
40    field public final boolean multiInstanceInvalidation;
41    field public final String? name;
42    field public final androidx.room.RoomDatabase.PrepackagedDatabaseCallback? prepackagedDatabaseCallback;
43    field public final kotlin.coroutines.CoroutineContext? queryCoroutineContext;
44    field public final java.util.concurrent.Executor queryExecutor;
45    field public final boolean requireMigration;
46    field public final androidx.sqlite.SQLiteDriver? sqliteDriver;
47    field public final androidx.sqlite.db.SupportSQLiteOpenHelper.Factory? sqliteOpenHelperFactory;
48    field public final java.util.concurrent.Executor transactionExecutor;
49    field public final java.util.List<java.lang.Object> typeConverters;
50  }
51
52  @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface ExperimentalRoomApi {
53  }
54
55  public class InvalidationTracker {
56    method @WorkerThread public void addObserver(androidx.room.InvalidationTracker.Observer observer);
57    method public final kotlinx.coroutines.flow.Flow<java.util.Set<java.lang.String>> createFlow(String[] tables);
58    method public final kotlinx.coroutines.flow.Flow<java.util.Set<java.lang.String>> createFlow(String[] tables, optional boolean emitInitialState);
59    method public final void refreshAsync();
60    method public void refreshVersionsAsync();
61    method @WorkerThread public void removeObserver(androidx.room.InvalidationTracker.Observer observer);
62    field public static final androidx.room.InvalidationTracker.Companion Companion;
63  }
64
65  public static final class InvalidationTracker.Companion {
66  }
67
68  public abstract static class InvalidationTracker.Observer {
69    ctor protected InvalidationTracker.Observer(String firstTable, java.lang.String... rest);
70    ctor public InvalidationTracker.Observer(String[] tables);
71    method public abstract void onInvalidated(java.util.Set<java.lang.String> tables);
72  }
73
74  @SuppressCompatibility @androidx.room.ExperimentalRoomApi public final class MultiInstanceInvalidationService extends android.app.Service {
75    ctor public MultiInstanceInvalidationService();
76    method public android.os.IBinder onBind(android.content.Intent intent);
77  }
78
79  public interface PooledConnection {
80    method public suspend <R> Object? usePrepared(String sql, kotlin.jvm.functions.Function1<? super androidx.sqlite.SQLiteStatement,? extends R> block, kotlin.coroutines.Continuation<? super R>);
81  }
82
83  public final class Room {
84    method public static <T extends androidx.room.RoomDatabase> androidx.room.RoomDatabase.Builder<T> databaseBuilder(android.content.Context context, Class<T> klass, String? name);
85    method public inline <reified T extends androidx.room.RoomDatabase> androidx.room.RoomDatabase.Builder<T> databaseBuilder(android.content.Context context, String name, optional kotlin.jvm.functions.Function0<? extends T> factory);
86    method public static <T extends androidx.room.RoomDatabase> androidx.room.RoomDatabase.Builder<T> inMemoryDatabaseBuilder(android.content.Context context, Class<T> klass);
87    method public inline <reified T extends androidx.room.RoomDatabase> androidx.room.RoomDatabase.Builder<T> inMemoryDatabaseBuilder(android.content.Context context, optional kotlin.jvm.functions.Function0<? extends T> factory);
88    property public static String MASTER_TABLE_NAME;
89    field public static final androidx.room.Room INSTANCE;
90    field public static final String MASTER_TABLE_NAME = "room_master_table";
91  }
92
93  public abstract class RoomDatabase {
94    ctor public RoomDatabase();
95    method @Deprecated public void beginTransaction();
96    method @WorkerThread public abstract void clearAllTables();
97    method public void close();
98    method public androidx.sqlite.db.SupportSQLiteStatement compileStatement(String sql);
99    method protected abstract androidx.room.InvalidationTracker createInvalidationTracker();
100    method @Deprecated protected androidx.sqlite.db.SupportSQLiteOpenHelper createOpenHelper(androidx.room.DatabaseConfiguration config);
101    method @Deprecated public void endTransaction();
102    method public androidx.room.InvalidationTracker getInvalidationTracker();
103    method @Deprecated @kotlin.jvm.Volatile protected final androidx.sqlite.db.SupportSQLiteDatabase? getMDatabase();
104    method public androidx.sqlite.db.SupportSQLiteOpenHelper getOpenHelper();
105    method public java.util.concurrent.Executor getQueryExecutor();
106    method public java.util.concurrent.Executor getTransactionExecutor();
107    method @Deprecated public <T> T? getTypeConverter(Class<T> klass);
108    method public boolean inTransaction();
109    method @CallSuper public void init(androidx.room.DatabaseConfiguration configuration);
110    method @Deprecated protected void internalInitInvalidationTracker(androidx.sqlite.db.SupportSQLiteDatabase db);
111    method public boolean isOpen();
112    method public android.database.Cursor query(androidx.sqlite.db.SupportSQLiteQuery query);
113    method public android.database.Cursor query(androidx.sqlite.db.SupportSQLiteQuery query, optional android.os.CancellationSignal? signal);
114    method public android.database.Cursor query(String query, Object?[]? args);
115    method public void runInTransaction(Runnable body);
116    method public <V> V runInTransaction(java.util.concurrent.Callable<V> body);
117    method @Deprecated @kotlin.jvm.Volatile protected final void setMDatabase(androidx.sqlite.db.SupportSQLiteDatabase?);
118    method @Deprecated public void setTransactionSuccessful();
119    property public androidx.room.InvalidationTracker invalidationTracker;
120    property public boolean isOpen;
121    property @Deprecated @kotlin.jvm.Volatile protected final androidx.sqlite.db.SupportSQLiteDatabase? mDatabase;
122    property public androidx.sqlite.db.SupportSQLiteOpenHelper openHelper;
123    property public java.util.concurrent.Executor queryExecutor;
124    property public java.util.concurrent.Executor transactionExecutor;
125    field public static final androidx.room.RoomDatabase.Companion Companion;
126    field @Deprecated @kotlin.jvm.Volatile protected volatile androidx.sqlite.db.SupportSQLiteDatabase? mDatabase;
127  }
128
129  public static class RoomDatabase.Builder<T extends androidx.room.RoomDatabase> {
130    method public androidx.room.RoomDatabase.Builder<T> addAutoMigrationSpec(androidx.room.migration.AutoMigrationSpec autoMigrationSpec);
131    method public androidx.room.RoomDatabase.Builder<T> addCallback(androidx.room.RoomDatabase.Callback callback);
132    method public androidx.room.RoomDatabase.Builder<T> addMigrations(androidx.room.migration.Migration... migrations);
133    method public androidx.room.RoomDatabase.Builder<T> addTypeConverter(Object typeConverter);
134    method public androidx.room.RoomDatabase.Builder<T> allowMainThreadQueries();
135    method public T build();
136    method public androidx.room.RoomDatabase.Builder<T> createFromAsset(String databaseFilePath);
137    method public androidx.room.RoomDatabase.Builder<T> createFromAsset(String databaseFilePath, androidx.room.RoomDatabase.PrepackagedDatabaseCallback callback);
138    method public androidx.room.RoomDatabase.Builder<T> createFromFile(java.io.File databaseFile);
139    method public androidx.room.RoomDatabase.Builder<T> createFromFile(java.io.File databaseFile, androidx.room.RoomDatabase.PrepackagedDatabaseCallback callback);
140    method public androidx.room.RoomDatabase.Builder<T> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream> inputStreamCallable);
141    method public androidx.room.RoomDatabase.Builder<T> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream> inputStreamCallable, androidx.room.RoomDatabase.PrepackagedDatabaseCallback callback);
142    method public androidx.room.RoomDatabase.Builder<T> enableMultiInstanceInvalidation();
143    method @Deprecated public androidx.room.RoomDatabase.Builder<T> fallbackToDestructiveMigration();
144    method public final androidx.room.RoomDatabase.Builder<T> fallbackToDestructiveMigration(boolean dropAllTables);
145    method public androidx.room.RoomDatabase.Builder<T> fallbackToDestructiveMigrationFrom(boolean dropAllTables, int... startVersions);
146    method @Deprecated public androidx.room.RoomDatabase.Builder<T> fallbackToDestructiveMigrationFrom(int... startVersions);
147    method @Deprecated public androidx.room.RoomDatabase.Builder<T> fallbackToDestructiveMigrationOnDowngrade();
148    method public final androidx.room.RoomDatabase.Builder<T> fallbackToDestructiveMigrationOnDowngrade(boolean dropAllTables);
149    method public androidx.room.RoomDatabase.Builder<T> openHelperFactory(androidx.sqlite.db.SupportSQLiteOpenHelper.Factory? factory);
150    method @SuppressCompatibility @androidx.room.ExperimentalRoomApi public androidx.room.RoomDatabase.Builder<T> setAutoCloseTimeout(@IntRange(from=0L) long autoCloseTimeout, java.util.concurrent.TimeUnit autoCloseTimeUnit);
151    method public final androidx.room.RoomDatabase.Builder<T> setDriver(androidx.sqlite.SQLiteDriver driver);
152    method @SuppressCompatibility @androidx.room.ExperimentalRoomApi public final androidx.room.RoomDatabase.Builder<T> setInMemoryTrackingMode(boolean inMemory);
153    method public androidx.room.RoomDatabase.Builder<T> setJournalMode(androidx.room.RoomDatabase.JournalMode journalMode);
154    method @SuppressCompatibility @androidx.room.ExperimentalRoomApi public androidx.room.RoomDatabase.Builder<T> setMultiInstanceInvalidationServiceIntent(android.content.Intent invalidationServiceIntent);
155    method public androidx.room.RoomDatabase.Builder<T> setQueryCallback(androidx.room.RoomDatabase.QueryCallback queryCallback, java.util.concurrent.Executor executor);
156    method public final androidx.room.RoomDatabase.Builder<T> setQueryCallback(kotlin.coroutines.CoroutineContext context, androidx.room.RoomDatabase.QueryCallback queryCallback);
157    method public final androidx.room.RoomDatabase.Builder<T> setQueryCoroutineContext(kotlin.coroutines.CoroutineContext context);
158    method public androidx.room.RoomDatabase.Builder<T> setQueryExecutor(java.util.concurrent.Executor executor);
159    method public androidx.room.RoomDatabase.Builder<T> setTransactionExecutor(java.util.concurrent.Executor executor);
160  }
161
162  public abstract static class RoomDatabase.Callback {
163    ctor public RoomDatabase.Callback();
164    method public void onCreate(androidx.sqlite.db.SupportSQLiteDatabase db);
165    method public void onCreate(androidx.sqlite.SQLiteConnection connection);
166    method public void onDestructiveMigration(androidx.sqlite.db.SupportSQLiteDatabase db);
167    method public void onDestructiveMigration(androidx.sqlite.SQLiteConnection connection);
168    method public void onOpen(androidx.sqlite.db.SupportSQLiteDatabase db);
169    method public void onOpen(androidx.sqlite.SQLiteConnection connection);
170  }
171
172  public static final class RoomDatabase.Companion {
173  }
174
175  public enum RoomDatabase.JournalMode {
176    enum_constant public static final androidx.room.RoomDatabase.JournalMode AUTOMATIC;
177    enum_constant public static final androidx.room.RoomDatabase.JournalMode TRUNCATE;
178    enum_constant public static final androidx.room.RoomDatabase.JournalMode WRITE_AHEAD_LOGGING;
179  }
180
181  public static class RoomDatabase.MigrationContainer {
182    ctor public RoomDatabase.MigrationContainer();
183    method public void addMigrations(androidx.room.migration.Migration... migrations);
184    method public void addMigrations(java.util.List<? extends androidx.room.migration.Migration> migrations);
185    method public final boolean contains(int startVersion, int endVersion);
186    method public java.util.List<androidx.room.migration.Migration>? findMigrationPath(int start, int end);
187    method public java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,androidx.room.migration.Migration>> getMigrations();
188  }
189
190  public abstract static class RoomDatabase.PrepackagedDatabaseCallback {
191    ctor public RoomDatabase.PrepackagedDatabaseCallback();
192    method public void onOpenPrepackagedDatabase(androidx.sqlite.db.SupportSQLiteDatabase db);
193  }
194
195  public static fun interface RoomDatabase.QueryCallback {
196    method public void onQuery(String sqlQuery, java.util.List<? extends java.lang.Object?> bindArgs);
197  }
198
199  public interface RoomDatabaseConstructor<T extends androidx.room.RoomDatabase> {
200    method public T initialize();
201  }
202
203  public final class RoomDatabaseKt {
204    method @Deprecated public static kotlinx.coroutines.flow.Flow<java.util.Set<java.lang.String>> invalidationTrackerFlow(androidx.room.RoomDatabase, String[] tables, optional boolean emitInitialState);
205    method public static suspend <R> Object? useReaderConnection(androidx.room.RoomDatabase, kotlin.jvm.functions.Function2<? super androidx.room.Transactor,? super kotlin.coroutines.Continuation<? super R>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super R>);
206    method public static suspend <R> Object? useWriterConnection(androidx.room.RoomDatabase, kotlin.jvm.functions.Function2<? super androidx.room.Transactor,? super kotlin.coroutines.Continuation<? super R>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super R>);
207    method public static suspend <R> Object? withTransaction(androidx.room.RoomDatabase, kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super R>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super R>);
208  }
209
210  public interface RoomOpenDelegateMarker {
211  }
212
213  public final class RoomRawQuery {
214    ctor public RoomRawQuery(String sql);
215    ctor public RoomRawQuery(String sql, optional kotlin.jvm.functions.Function1<? super androidx.sqlite.SQLiteStatement,kotlin.Unit> onBindStatement);
216    method public kotlin.jvm.functions.Function1<androidx.sqlite.SQLiteStatement,kotlin.Unit> getBindingFunction();
217    method public String getSql();
218    property public String sql;
219  }
220
221  public interface TransactionScope<T> extends androidx.room.PooledConnection {
222    method public suspend Object? rollback(T result, kotlin.coroutines.Continuation<? extends java.lang.Object?>);
223    method public suspend <R> Object? withNestedTransaction(kotlin.jvm.functions.Function2<? super androidx.room.TransactionScope<R>,? super kotlin.coroutines.Continuation<? super R>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super R>);
224  }
225
226  public interface Transactor extends androidx.room.PooledConnection {
227    method public suspend Object? inTransaction(kotlin.coroutines.Continuation<? super java.lang.Boolean>);
228    method public suspend <R> Object? withTransaction(androidx.room.Transactor.SQLiteTransactionType type, kotlin.jvm.functions.Function2<? super androidx.room.TransactionScope<R>,? super kotlin.coroutines.Continuation<? super R>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super R>);
229  }
230
231  public enum Transactor.SQLiteTransactionType {
232    enum_constant public static final androidx.room.Transactor.SQLiteTransactionType DEFERRED;
233    enum_constant public static final androidx.room.Transactor.SQLiteTransactionType EXCLUSIVE;
234    enum_constant public static final androidx.room.Transactor.SQLiteTransactionType IMMEDIATE;
235  }
236
237  public final class TransactorKt {
238    method public static suspend <R> Object? deferredTransaction(androidx.room.Transactor, kotlin.jvm.functions.Function2<? super androidx.room.TransactionScope<R>,? super kotlin.coroutines.Continuation<? super R>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super R>);
239    method public static suspend <R> Object? exclusiveTransaction(androidx.room.Transactor, kotlin.jvm.functions.Function2<? super androidx.room.TransactionScope<R>,? super kotlin.coroutines.Continuation<? super R>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super R>);
240    method public static suspend Object? execSQL(androidx.room.PooledConnection, String sql, kotlin.coroutines.Continuation<? super kotlin.Unit>);
241    method public static suspend <R> Object? immediateTransaction(androidx.room.Transactor, kotlin.jvm.functions.Function2<? super androidx.room.TransactionScope<R>,? super kotlin.coroutines.Continuation<? super R>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super R>);
242  }
243
244}
245
246package androidx.room.migration {
247
248  public interface AutoMigrationSpec {
249    method public default void onPostMigrate(androidx.sqlite.db.SupportSQLiteDatabase db);
250    method public default void onPostMigrate(androidx.sqlite.SQLiteConnection connection);
251  }
252
253  public abstract class Migration {
254    ctor public Migration(int startVersion, int endVersion);
255    method public void migrate(androidx.sqlite.db.SupportSQLiteDatabase db);
256    method public void migrate(androidx.sqlite.SQLiteConnection connection);
257    property public final int endVersion;
258    property public final int startVersion;
259    field public final int endVersion;
260    field public final int startVersion;
261  }
262
263  public final class MigrationKt {
264    method public static androidx.room.migration.Migration Migration(int startVersion, int endVersion, kotlin.jvm.functions.Function1<? super androidx.sqlite.db.SupportSQLiteDatabase,kotlin.Unit> migrate);
265  }
266
267}
268
269