Fixed
Status Update
Comments
am...@google.com <am...@google.com>
am...@google.com <am...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit b93b6044308aafa2361f69fe55cd24dbf7b016e6
Author: elifbilgin <elifbilgin@google.com>
Date: Wed Aug 02 08:14:41 2023
Converting `room-common` build files to be AndroidX Multiplatform.
Bug: 299168035
Test: Existing tests
Change-Id: I2b0c00a0d978b45745bf7e94628e2b1ebc6cb66e
M room/room-common/build.gradle
M room/room-common/src/commonMain/kotlin/androidx/room/AmbiguousColumnResolver.kt
M room/room-common/src/commonMain/kotlin/androidx/room/AutoMigration.kt
M room/room-common/src/commonMain/kotlin/androidx/room/BuiltInTypeConverters.kt
M room/room-common/src/commonMain/kotlin/androidx/room/ColumnInfo.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Dao.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Database.kt
M room/room-common/src/commonMain/kotlin/androidx/room/DatabaseView.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Delete.kt
M room/room-common/src/commonMain/kotlin/androidx/room/DeleteColumn.kt
M room/room-common/src/commonMain/kotlin/androidx/room/DeleteTable.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Embedded.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Entity.kt
M room/room-common/src/commonMain/kotlin/androidx/room/ForeignKey.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Fts3.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Fts4.kt
M room/room-common/src/commonMain/kotlin/androidx/room/FtsOptions.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Ignore.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Index.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Insert.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Junction.kt
M room/room-common/src/commonMain/kotlin/androidx/room/MapColumn.kt
M room/room-common/src/commonMain/kotlin/androidx/room/MapInfo.kt
M room/room-common/src/commonMain/kotlin/androidx/room/OnConflictStrategy.kt
M room/room-common/src/commonMain/kotlin/androidx/room/PrimaryKey.kt
M room/room-common/src/commonMain/kotlin/androidx/room/ProvidedAutoMigrationSpec.kt
M room/room-common/src/commonMain/kotlin/androidx/room/ProvidedTypeConverter.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Query.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RawQuery.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Relation.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RenameColumn.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RenameTable.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RewriteQueriesToDropUnusedColumns.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RoomMasterTable.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RoomWarnings.kt
M room/room-common/src/commonMain/kotlin/androidx/room/SkipQueryVerification.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Transaction.kt
M room/room-common/src/commonMain/kotlin/androidx/room/TypeConverter.kt
M room/room-common/src/commonMain/kotlin/androidx/room/TypeConverters.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Update.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Upsert.kt
M room/room-common/src/commonTest/kotlin/androidx/room/AmbiguousColumnResolverTest.kt
M room/room-common/src/commonTest/kotlin/androidx/room/AnnotationRetentionPolicyTest.kt
M settings.gradle
https://android-review.googlesource.com/2689826
Branch: androidx-main
commit b93b6044308aafa2361f69fe55cd24dbf7b016e6
Author: elifbilgin <elifbilgin@google.com>
Date: Wed Aug 02 08:14:41 2023
Converting `room-common` build files to be AndroidX Multiplatform.
Bug: 299168035
Test: Existing tests
Change-Id: I2b0c00a0d978b45745bf7e94628e2b1ebc6cb66e
M room/room-common/build.gradle
M room/room-common/src/commonMain/kotlin/androidx/room/AmbiguousColumnResolver.kt
M room/room-common/src/commonMain/kotlin/androidx/room/AutoMigration.kt
M room/room-common/src/commonMain/kotlin/androidx/room/BuiltInTypeConverters.kt
M room/room-common/src/commonMain/kotlin/androidx/room/ColumnInfo.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Dao.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Database.kt
M room/room-common/src/commonMain/kotlin/androidx/room/DatabaseView.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Delete.kt
M room/room-common/src/commonMain/kotlin/androidx/room/DeleteColumn.kt
M room/room-common/src/commonMain/kotlin/androidx/room/DeleteTable.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Embedded.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Entity.kt
M room/room-common/src/commonMain/kotlin/androidx/room/ForeignKey.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Fts3.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Fts4.kt
M room/room-common/src/commonMain/kotlin/androidx/room/FtsOptions.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Ignore.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Index.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Insert.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Junction.kt
M room/room-common/src/commonMain/kotlin/androidx/room/MapColumn.kt
M room/room-common/src/commonMain/kotlin/androidx/room/MapInfo.kt
M room/room-common/src/commonMain/kotlin/androidx/room/OnConflictStrategy.kt
M room/room-common/src/commonMain/kotlin/androidx/room/PrimaryKey.kt
M room/room-common/src/commonMain/kotlin/androidx/room/ProvidedAutoMigrationSpec.kt
M room/room-common/src/commonMain/kotlin/androidx/room/ProvidedTypeConverter.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Query.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RawQuery.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Relation.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RenameColumn.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RenameTable.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RewriteQueriesToDropUnusedColumns.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RoomMasterTable.kt
M room/room-common/src/commonMain/kotlin/androidx/room/RoomWarnings.kt
M room/room-common/src/commonMain/kotlin/androidx/room/SkipQueryVerification.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Transaction.kt
M room/room-common/src/commonMain/kotlin/androidx/room/TypeConverter.kt
M room/room-common/src/commonMain/kotlin/androidx/room/TypeConverters.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Update.kt
M room/room-common/src/commonMain/kotlin/androidx/room/Upsert.kt
M room/room-common/src/commonTest/kotlin/androidx/room/AmbiguousColumnResolverTest.kt
M room/room-common/src/commonTest/kotlin/androidx/room/AnnotationRetentionPolicyTest.kt
M settings.gradle
am...@google.com <am...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit cd4f81b707004c84a0a31117bffec06ab22dd624
Author: elifbilgin <elifbilgin@google.com>
Date: Tue Nov 28 14:31:43 2023
Adding KMP to room-compiler and room-migration.
Bug: 299168035
Test: ./gradlew bOS
Change-Id: Ic7f785f26007dbc6a1b2d4d9430e889195debd4a
M settings.gradle
https://android-review.googlesource.com/2850372
Branch: androidx-main
commit cd4f81b707004c84a0a31117bffec06ab22dd624
Author: elifbilgin <elifbilgin@google.com>
Date: Tue Nov 28 14:31:43 2023
Adding KMP to room-compiler and room-migration.
Bug: 299168035
Test: ./gradlew bOS
Change-Id: Ic7f785f26007dbc6a1b2d4d9430e889195debd4a
M settings.gradle
am...@google.com <am...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 7cdb294ad4b239a09a5ea51b0a95c6affe899de0
Author: elifbilgin <elifbilgin@google.com>
Date: Thu Aug 03 04:39:03 2023
First steps of making room-runtime KMP.
This CL mainly sets up room-runtime as a KMP project, adding necessary directories for splitting code between commonMain, androidMain and nativeMain. It also updates the relevant gradle files.
This is a starter CL in a row of many more upcoming CLs, but we are looking forward to renovating our Room, even if it means knocking down some walls and adding a few new ones!
Bug: 299168035
Test: Existing integration tests for Room.
Change-Id: I23c90c33e1645385bfb1f55f3843749e4cb76a11
M room/room-runtime/build.gradle
M room/room-runtime/lint-baseline.xml
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/AutoCloserTest.kt
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/AutoClosingRoomOpenHelperFactoryTest.kt
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/AutoClosingRoomOpenHelperTest.kt
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/RoomOpenHelperTest.java
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/migration/TableInfoTest.java
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/migration/ViewInfoTest.java
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/util/DBUtilTest.java
M room/room-runtime/src/androidMain/AndroidManifest.xml
M room/room-runtime/src/androidMain/kotlin/androidx/room/AutoCloser.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/AutoClosingRoomOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/AutoClosingRoomOpenHelperFactory.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/DatabaseConfiguration.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/DelegatingOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/EntityDeletionOrUpdateAdapter.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/EntityInsertionAdapter.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/EntityUpsertionAdapter.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/ExperimentalRoomApi.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/InvalidationLiveDataContainer.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/InvalidationTracker.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/MultiInstanceInvalidationClient.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/MultiInstanceInvalidationService.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/QueryInterceptorDatabase.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/QueryInterceptorOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/QueryInterceptorOpenHelperFactory.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/QueryInterceptorProgram.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/QueryInterceptorStatement.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RelationUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/Room.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomDatabase.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomSQLiteQuery.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomTrackingLiveData.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/SQLiteCopyOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/SQLiteCopyOpenHelperFactory.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/SharedSQLiteStatement.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/TransactionExecutor.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/UUIDUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/migration/AutoMigrationSpec.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/migration/Migration.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/package-info.java
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/CursorUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/DBUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/FileUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/FtsTableInfo.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/StringUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/TableInfo.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/ViewInfo.android.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/BuilderTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/BuilderTest_TestDatabase_Impl.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/InvalidationLiveDataContainerTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/InvalidationTrackerTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/ObservedTableTrackerTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/RoomSQLiteQueryTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/SQLiteCopyOpenHelperTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/SharedSQLiteStatementTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/TransactionExecutorTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/util/CursorUtilTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/util/FtsTableInfoTest.java
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/util/StringUtilTest.java
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/util/UUIDUtilTest.kt
M room/room-runtime/src/androidUnitTest/resources/mockito-extensions/org.mockito.plugins.MockMaker
M settings.gradle
https://android-review.googlesource.com/2819624
Branch: androidx-main
commit 7cdb294ad4b239a09a5ea51b0a95c6affe899de0
Author: elifbilgin <elifbilgin@google.com>
Date: Thu Aug 03 04:39:03 2023
First steps of making room-runtime KMP.
This CL mainly sets up room-runtime as a KMP project, adding necessary directories for splitting code between commonMain, androidMain and nativeMain. It also updates the relevant gradle files.
This is a starter CL in a row of many more upcoming CLs, but we are looking forward to renovating our Room, even if it means knocking down some walls and adding a few new ones!
Bug: 299168035
Test: Existing integration tests for Room.
Change-Id: I23c90c33e1645385bfb1f55f3843749e4cb76a11
M room/room-runtime/build.gradle
M room/room-runtime/lint-baseline.xml
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/AutoCloserTest.kt
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/AutoClosingRoomOpenHelperFactoryTest.kt
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/AutoClosingRoomOpenHelperTest.kt
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/RoomOpenHelperTest.java
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/migration/TableInfoTest.java
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/migration/ViewInfoTest.java
M room/room-runtime/src/androidInstrumentedTest/kotlin/androidx/room/util/DBUtilTest.java
M room/room-runtime/src/androidMain/AndroidManifest.xml
M room/room-runtime/src/androidMain/kotlin/androidx/room/AutoCloser.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/AutoClosingRoomOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/AutoClosingRoomOpenHelperFactory.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/DatabaseConfiguration.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/DelegatingOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/EntityDeletionOrUpdateAdapter.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/EntityInsertionAdapter.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/EntityUpsertionAdapter.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/ExperimentalRoomApi.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/InvalidationLiveDataContainer.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/InvalidationTracker.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/MultiInstanceInvalidationClient.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/MultiInstanceInvalidationService.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/QueryInterceptorDatabase.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/QueryInterceptorOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/QueryInterceptorOpenHelperFactory.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/QueryInterceptorProgram.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/QueryInterceptorStatement.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RelationUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/Room.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomDatabase.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomSQLiteQuery.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomTrackingLiveData.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/SQLiteCopyOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/SQLiteCopyOpenHelperFactory.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/SharedSQLiteStatement.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/TransactionExecutor.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/UUIDUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/migration/AutoMigrationSpec.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/migration/Migration.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/package-info.java
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/CursorUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/DBUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/FileUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/FtsTableInfo.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/StringUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/TableInfo.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/ViewInfo.android.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/BuilderTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/BuilderTest_TestDatabase_Impl.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/InvalidationLiveDataContainerTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/InvalidationTrackerTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/ObservedTableTrackerTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/RoomSQLiteQueryTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/SQLiteCopyOpenHelperTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/SharedSQLiteStatementTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/TransactionExecutorTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/util/CursorUtilTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/util/FtsTableInfoTest.java
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/util/StringUtilTest.java
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/util/UUIDUtilTest.kt
M room/room-runtime/src/androidUnitTest/resources/mockito-extensions/org.mockito.plugins.MockMaker
M settings.gradle
am...@google.com <am...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit 6e99114d56924436e78fb266d1d8d6cb433b4d3c
Author: elifbilgin <elifbilgin@google.com>
Date: Wed Nov 29 10:42:33 2023
Adding placeholder files for klib generation in Room-Runtime commonMain.
Bug: 299168035
Test: ./gradlew :room:room-runtime:generateMetadataFileForIosArm64Publication
Change-Id: If899730f16c4158e30e92c0237cbfebf716a54d3
A room/room-runtime/src/commonMain/kotlin/androidx/room/Placeholder.kt
https://android-review.googlesource.com/2853246
Branch: androidx-main
commit 6e99114d56924436e78fb266d1d8d6cb433b4d3c
Author: elifbilgin <elifbilgin@google.com>
Date: Wed Nov 29 10:42:33 2023
Adding placeholder files for klib generation in Room-Runtime commonMain.
Bug: 299168035
Test: ./gradlew :room:room-runtime:generateMetadataFileForIosArm64Publication
Change-Id: If899730f16c4158e30e92c0237cbfebf716a54d3
A room/room-runtime/src/commonMain/kotlin/androidx/room/Placeholder.kt
da...@gmail.com <da...@gmail.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit cbb7dfa939490c964f8735802c8062ff756e328a
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Mon Dec 18 16:11:57 2023
Commonize Room initialization and partially migrate to SQLite driver APIs.
A big step towards Room KMP, this change refactors the initialization logic to use driver APIs while maintaining a backwards compatible path for Android users that provide no driver or provide a SupportSQLiteOpenHelper.Factory.
The bulk of the initialization logic that currently resides in RoomOpenHelper and is driven by it implementing SupportSQLiteOpenHelper.Callback has been migrated to a common class named RoomConnectionManager that will be responsible of opening and maintaining database connection including performing migrations if necessary and validating the schema. The generated implementation of createOpenHelper() has been refactored and reduced into RoomOpenDelegate which is an abstract class solely to be implemented by the annotation processor that bridges between code generated logic and runtime. Both of these new classes use the driver APIs.
A chunk of the initialization code is partially converted to use driver APIs, just enough for build and tests to pass as from this point on we can apply a top-down approach to migrating the rest of Room as described in go/sqlite-kmp-room-migration. Similarly only the necessary actual / expect declaration were created for the RoomConnectionManager to contain the common code for initializing the database connection.
Additional relevant changes:
* Added a setter in RoomDatabase.Builder to accept a SQLiteDriver.
* Added an overload of onMigrate() in Migration that has SQLiteConnection as a parameter. The first of many callbacks that need to be migrated.
* Validate in processor that database version is greater than 0. This was already check at runtime in framework logic, but by moving it to processor we can really give version 0 the meaning of a 'newly created database'.
* Added an XPoet API to generated extension function invocations. (Finally! >.>)
* Moved some wrongly located files: RelationUtil.android.kt and UUIDUtil.android.kt.
Bug: 299168035
Bug: 309993778
Test: Existing
Relnote: "Add an API for configuring the SQLiteDriver in Room. Partially move migrations to use SQLiteConnection."
Change-Id: I20dfee013770f55a581ac082d1dd6e1eaa9ac5d7
M room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XCodeBlock.kt
M room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/DatabaseProcessor.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/DatabaseWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/FtsTableInfoValidationWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/OpenDelegateWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/TableInfoValidationWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/ValidationWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/ViewInfoValidationWriter.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/DatabaseProcessorTest.kt
M room/room-compiler/src/test/kotlin/androidx/room/writer/OpenDelegateWriterTest.kt
M room/room-compiler/src/test/test-data/databasewriter/output/ComplexDatabase.java
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_internalVisibility.kt
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_simple.kt
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_withFtsAndView.kt
M room/room-guava/src/androidTest/java/androidx/room/guava/GuavaRoomTest.java
M room/room-ktx/src/androidTest/java/androidx/room/CoroutineRoomCancellationTest.kt
M room/room-ktx/src/test/java/androidx/room/CoroutinesRoomTest.kt
M room/room-runtime/api/current.txt
M room/room-runtime/api/restricted_current.txt
M room/room-runtime/build.gradle
M room/room-runtime/src/androidMain/kotlin/androidx/room/DatabaseConfiguration.android.kt
A room/room-runtime/src/androidMain/kotlin/androidx/room/RoomAndroidConnectionManager.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomDatabase.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/migration/Migration.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/DBUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/FtsTableInfo.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/RelationUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/TableInfo.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/UUIDUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/ViewInfo.android.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/BuilderTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/BuilderTest_TestDatabase_Impl.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/DatabaseConfiguration.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/RoomConnectionManager.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/RoomDatabase.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/RoomOpenDelegate.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/migration/Migration.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/util/DBUtil.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/util/MigrationUtil.kt
M room/room-runtime/src/nativeMain/kotlin/androidx/room/DatabaseConfiguration.native.kt
A room/room-runtime/src/nativeMain/kotlin/androidx/room/RoomConnectionManager.native.kt
A room/room-runtime/src/nativeMain/kotlin/androidx/room/RoomDatabase.native.kt
A room/room-runtime/src/nativeMain/kotlin/androidx/room/migration/Migration.native.kt
M room/room-testing/src/main/java/androidx/room/testing/MigrationTestHelper.kt
https://android-review.googlesource.com/2880706
Branch: androidx-main
commit cbb7dfa939490c964f8735802c8062ff756e328a
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Mon Dec 18 16:11:57 2023
Commonize Room initialization and partially migrate to SQLite driver APIs.
A big step towards Room KMP, this change refactors the initialization logic to use driver APIs while maintaining a backwards compatible path for Android users that provide no driver or provide a SupportSQLiteOpenHelper.Factory.
The bulk of the initialization logic that currently resides in RoomOpenHelper and is driven by it implementing SupportSQLiteOpenHelper.Callback has been migrated to a common class named RoomConnectionManager that will be responsible of opening and maintaining database connection including performing migrations if necessary and validating the schema. The generated implementation of createOpenHelper() has been refactored and reduced into RoomOpenDelegate which is an abstract class solely to be implemented by the annotation processor that bridges between code generated logic and runtime. Both of these new classes use the driver APIs.
A chunk of the initialization code is partially converted to use driver APIs, just enough for build and tests to pass as from this point on we can apply a top-down approach to migrating the rest of Room as described in go/sqlite-kmp-room-migration. Similarly only the necessary actual / expect declaration were created for the RoomConnectionManager to contain the common code for initializing the database connection.
Additional relevant changes:
* Added a setter in RoomDatabase.Builder to accept a SQLiteDriver.
* Added an overload of onMigrate() in Migration that has SQLiteConnection as a parameter. The first of many callbacks that need to be migrated.
* Validate in processor that database version is greater than 0. This was already check at runtime in framework logic, but by moving it to processor we can really give version 0 the meaning of a 'newly created database'.
* Added an XPoet API to generated extension function invocations. (Finally! >.>)
* Moved some wrongly located files: RelationUtil.android.kt and UUIDUtil.android.kt.
Bug: 299168035
Bug: 309993778
Test: Existing
Relnote: "Add an API for configuring the SQLiteDriver in Room. Partially move migrations to use SQLiteConnection."
Change-Id: I20dfee013770f55a581ac082d1dd6e1eaa9ac5d7
M room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XCodeBlock.kt
M room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/DatabaseProcessor.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/DatabaseWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/FtsTableInfoValidationWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/OpenDelegateWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/TableInfoValidationWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/ValidationWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/ViewInfoValidationWriter.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/DatabaseProcessorTest.kt
M room/room-compiler/src/test/kotlin/androidx/room/writer/OpenDelegateWriterTest.kt
M room/room-compiler/src/test/test-data/databasewriter/output/ComplexDatabase.java
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_internalVisibility.kt
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_simple.kt
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_withFtsAndView.kt
M room/room-guava/src/androidTest/java/androidx/room/guava/GuavaRoomTest.java
M room/room-ktx/src/androidTest/java/androidx/room/CoroutineRoomCancellationTest.kt
M room/room-ktx/src/test/java/androidx/room/CoroutinesRoomTest.kt
M room/room-runtime/api/current.txt
M room/room-runtime/api/restricted_current.txt
M room/room-runtime/build.gradle
M room/room-runtime/src/androidMain/kotlin/androidx/room/DatabaseConfiguration.android.kt
A room/room-runtime/src/androidMain/kotlin/androidx/room/RoomAndroidConnectionManager.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomDatabase.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomOpenHelper.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/migration/Migration.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/DBUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/FtsTableInfo.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/RelationUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/TableInfo.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/UUIDUtil.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/util/ViewInfo.android.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/BuilderTest.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/BuilderTest_TestDatabase_Impl.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/DatabaseConfiguration.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/RoomConnectionManager.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/RoomDatabase.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/RoomOpenDelegate.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/migration/Migration.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/util/DBUtil.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/util/MigrationUtil.kt
M room/room-runtime/src/nativeMain/kotlin/androidx/room/DatabaseConfiguration.native.kt
A room/room-runtime/src/nativeMain/kotlin/androidx/room/RoomConnectionManager.native.kt
A room/room-runtime/src/nativeMain/kotlin/androidx/room/RoomDatabase.native.kt
A room/room-runtime/src/nativeMain/kotlin/androidx/room/migration/Migration.native.kt
M room/room-testing/src/main/java/androidx/room/testing/MigrationTestHelper.kt
am...@google.com <am...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit 0a2a14354279a2f02691d5a55f8d7e0951f9c9ba
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Tue Dec 19 17:13:42 2023
Commonize Room auto migration validation and initialization.
This change moves auto migration spec validation and auto migration initialization into common code. Generated auto migration related functions had to be mirrored into common code using kotlin.reflect.KClass instead java.lang.Class with a backwards compatible path for old generated code. Reflection assignment checks had to be migrated to an actual/expect function that only does FQN comparison in native which is not quite equivalent as that would fail if a sub-class of the spec is provided, but this might be an unrealistic case. Why would someone provide a subclass of their @ProvidedAutoMigrationSpec? If this is an issue we can enforce @ProvidedAutoMigrationSpec to be final in processor ( b/317210564 ). Regardless of, there is no reflection in native code, so this will do.
Other related changes:
* Added onPostMigrate(connection: SQLiteConnection) but note that such callback is not invoked yet (need to change gen code).
* Migrated relevant concrete collection types in gen code to use Kotlin's Stdlib builders as those are KMP compatible.
* Add XCodeBlock.ofKotlinClassLiteral() to emit KClass literals, note that in Java it converts the java.lang.Class using JvmClassMappingKt but such case should never be generated.
Bug: 299168035
Bug: 309993778
Test: Existing
Relnote: "Add onPostMigrate(connection: SQLiteConnection) to AutoMigrationSpec"
Change-Id: I3b7c9219f6ba79056633530b052d3ce54f013940
M room/room-common/build.gradle
M room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XCodeBlock.kt
M room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/DatabaseWriter.kt
M room/room-compiler/src/test/test-data/databasewriter/output/ComplexDatabase.java
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_internalVisibility.kt
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_simple.kt
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_withFtsAndView.kt
M room/room-runtime/api/current.txt
M room/room-runtime/api/restricted_current.txt
M room/room-runtime/src/androidMain/kotlin/androidx/room/DatabaseConfiguration.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomDatabase.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/migration/AutoMigrationSpec.android.kt
A room/room-runtime/src/androidMain/kotlin/androidx/room/util/KClassUtil.android.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/BuilderTest_TestDatabase_Impl.kt
M room/room-runtime/src/commonMain/kotlin/androidx/room/DatabaseConfiguration.kt
M room/room-runtime/src/commonMain/kotlin/androidx/room/RoomDatabase.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/migration/AutoMigrationSpec.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/util/KClassUtil.kt
M room/room-runtime/src/commonMain/kotlin/androidx/room/util/MigrationUtil.kt
M room/room-runtime/src/nativeMain/kotlin/androidx/room/DatabaseConfiguration.native.kt
M room/room-runtime/src/nativeMain/kotlin/androidx/room/RoomDatabase.native.kt
A room/room-runtime/src/nativeMain/kotlin/androidx/room/migration/AutoMigrationSpec.native.kt
A room/room-runtime/src/nativeMain/kotlin/androidx/room/util/KClassUtil.kt
M room/room-testing/src/main/java/androidx/room/testing/MigrationTestHelper.kt
https://android-review.googlesource.com/2883826
Branch: androidx-main
commit 0a2a14354279a2f02691d5a55f8d7e0951f9c9ba
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Tue Dec 19 17:13:42 2023
Commonize Room auto migration validation and initialization.
This change moves auto migration spec validation and auto migration initialization into common code. Generated auto migration related functions had to be mirrored into common code using kotlin.reflect.KClass instead java.lang.Class with a backwards compatible path for old generated code. Reflection assignment checks had to be migrated to an actual/expect function that only does FQN comparison in native which is not quite equivalent as that would fail if a sub-class of the spec is provided, but this might be an unrealistic case. Why would someone provide a subclass of their @ProvidedAutoMigrationSpec? If this is an issue we can enforce @ProvidedAutoMigrationSpec to be final in processor (
Other related changes:
* Added onPostMigrate(connection: SQLiteConnection) but note that such callback is not invoked yet (need to change gen code).
* Migrated relevant concrete collection types in gen code to use Kotlin's Stdlib builders as those are KMP compatible.
* Add XCodeBlock.ofKotlinClassLiteral() to emit KClass literals, note that in Java it converts the java.lang.Class using JvmClassMappingKt but such case should never be generated.
Bug: 299168035
Bug: 309993778
Test: Existing
Relnote: "Add onPostMigrate(connection: SQLiteConnection) to AutoMigrationSpec"
Change-Id: I3b7c9219f6ba79056633530b052d3ce54f013940
M room/room-common/build.gradle
M room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XCodeBlock.kt
M room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/DatabaseWriter.kt
M room/room-compiler/src/test/test-data/databasewriter/output/ComplexDatabase.java
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_internalVisibility.kt
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_simple.kt
M room/room-compiler/src/test/test-data/kotlinCodeGen/database_withFtsAndView.kt
M room/room-runtime/api/current.txt
M room/room-runtime/api/restricted_current.txt
M room/room-runtime/src/androidMain/kotlin/androidx/room/DatabaseConfiguration.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/RoomDatabase.android.kt
M room/room-runtime/src/androidMain/kotlin/androidx/room/migration/AutoMigrationSpec.android.kt
A room/room-runtime/src/androidMain/kotlin/androidx/room/util/KClassUtil.android.kt
M room/room-runtime/src/androidUnitTest/kotlin/androidx/room/BuilderTest_TestDatabase_Impl.kt
M room/room-runtime/src/commonMain/kotlin/androidx/room/DatabaseConfiguration.kt
M room/room-runtime/src/commonMain/kotlin/androidx/room/RoomDatabase.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/migration/AutoMigrationSpec.kt
A room/room-runtime/src/commonMain/kotlin/androidx/room/util/KClassUtil.kt
M room/room-runtime/src/commonMain/kotlin/androidx/room/util/MigrationUtil.kt
M room/room-runtime/src/nativeMain/kotlin/androidx/room/DatabaseConfiguration.native.kt
M room/room-runtime/src/nativeMain/kotlin/androidx/room/RoomDatabase.native.kt
A room/room-runtime/src/nativeMain/kotlin/androidx/room/migration/AutoMigrationSpec.native.kt
A room/room-runtime/src/nativeMain/kotlin/androidx/room/util/KClassUtil.kt
M room/room-testing/src/main/java/androidx/room/testing/MigrationTestHelper.kt
Description
This form is only for reporting bugs found in the Android system while
developing Android applications. Use the Tools templates for issues with
the developer tools.
Please describe the problem in detail. Be sure to include:
- Steps to reproduce the problem (including sample code if appropriate).
- What happened.
- What you think the correct behavior should be.
Don't forget to mention which version of Android you're using, and/or which
device the problem appears on (model and Android version).
Please also run "adb bugreport" and archive the output.
We are seeing in Crashlytics crashes in the framework itself. Below our code and the stacktrace:
@Override
public void onPause() {
if (mFingerprintHelper != null) {
mFingerprintHelper.stopListening();
}
super.onPause();
}
Fatal Exception: java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference
at android.os.Parcel.readException(Parcel.java:2019)
at android.os.Parcel.readException(Parcel.java:1959)
at android.hardware.fingerprint.IFingerprintService$Stub$Proxy.cancelAuthentication(IFingerprintService.java:320)
at android.hardware.fingerprint.FingerprintManager.cancelAuthentication(FingerprintManager.java:1057)
at android.hardware.fingerprint.FingerprintManager.-wrap2(FingerprintManager.java)
at android.hardware.fingerprint.FingerprintManager$OnAuthenticationCancelListener.onCancel(FingerprintManager.java:261)
at android.os.CancellationSignal.cancel(CancellationSignal.java:77)
at com.sophos.smsec.plugin.appprotection.FingerprintHelper.stopListening(FingerprintHelper.java:46)
at com.sophos.smsec.plugin.appprotection.gui.blocking.AuthorizeFingerPrintDialog.doFinish(AuthorizeFingerPrintDialog.java:466)
at com.sophos.smsec.plugin.appprotection.gui.blocking.AuthorizeFingerPrintDialog.sayCancel(AuthorizeFingerPrintDialog.java:491)
at com.sophos.smsec.plugin.appprotection.gui.blocking.AuthorizeFingerPrintDialog$1.onKey(AuthorizeFingerPrintDialog.java:271)
at android.support.v4.view.KeyEventDispatcher.dialogSuperDispatchKeyEventPre28(KeyEventDispatcher.java:162)
at android.support.v4.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:89)
at android.support.v7.app.AppCompatDialog.dispatchKeyEvent(AppCompatDialog.java:206)
at android.support.v7.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59)
at android.support.v7.app.AppCompatDelegateImpl$AppCompatWindowCallback.dispatchKeyEvent(AppCompatDelegateImpl.java:2533)
at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:383)
at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4767)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4639)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4181)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4234)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4200)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4327)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4208)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4384)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4181)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4234)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4200)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4208)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4181)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4234)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4200)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4327)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4208)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4384)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4181)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4234)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4200)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4208)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4181)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4234)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4200)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4327)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4208)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4384)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4181)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6744)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6683)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6644)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6847)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:193)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:325)
at android.os.Looper.loop(Looper.java:142)
at android.app.ActivityThread.main(ActivityThread.java:6626)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:811)
We are not able to reproduce this manually but get constant reports in Crashlytics, many different devices, Android 8 & 9 till now. There is also a SO post about this, so we are not being the only one: