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