Fixed
Status Update
Comments
yb...@google.com <yb...@google.com>
ya...@google.com <ya...@google.com>
ya...@google.com <ya...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit c73bd92631a2ff341f89001bc9143c7b998333e8
Author: Sanura N'Jaka <sanura@google.com>
Date: Thu Aug 18 18:03:13 2022
Add project dependency constraint between lifecycle-viewmodel and lifecycle-viewmodel-savedstate
Added bi-directional project version constraint between
lifecycle-viewmodel and lifecycle-viewmodel-savedstate.
If both artifacts are in the dependency tree, their
versions should match. This will now be enforced by gradle
automatically bumping up either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: I3ab2abf9b6b1861038afc0e651da80e4ee75efb8
M lifecycle/lifecycle-viewmodel-savedstate/build.gradle
https://android-review.googlesource.com/2189976
Branch: androidx-main
commit c73bd92631a2ff341f89001bc9143c7b998333e8
Author: Sanura N'Jaka <sanura@google.com>
Date: Thu Aug 18 18:03:13 2022
Add project dependency constraint between lifecycle-viewmodel and lifecycle-viewmodel-savedstate
Added bi-directional project version constraint between
lifecycle-viewmodel and lifecycle-viewmodel-savedstate.
If both artifacts are in the dependency tree, their
versions should match. This will now be enforced by gradle
automatically bumping up either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: I3ab2abf9b6b1861038afc0e651da80e4ee75efb8
M lifecycle/lifecycle-viewmodel-savedstate/build.gradle
gm...@gmail.com <gm...@gmail.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit e7a81dc92c9c56b31455c75161a8becf49f761e3
Author: Sanura N'Jaka <sanura@google.com>
Date: Wed Aug 17 22:44:55 2022
Add project dependency constraint between lifecycle-runtime and lifecycle-runtime-compose
Added bi-directional project version constraint between
lifecycle-runtime and lifecycle-runtime-compose. If both
artifacts are in the dependency tree, their versions
should match. This will now be enforced by gradle
automatically bumping up either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: I0f6b3928ac0b338b0fcc6835828dd43fadee8c0d
M lifecycle/lifecycle-runtime-compose/build.gradle
M lifecycle/lifecycle-runtime/build.gradle
https://android-review.googlesource.com/2189951
Branch: androidx-main
commit e7a81dc92c9c56b31455c75161a8becf49f761e3
Author: Sanura N'Jaka <sanura@google.com>
Date: Wed Aug 17 22:44:55 2022
Add project dependency constraint between lifecycle-runtime and lifecycle-runtime-compose
Added bi-directional project version constraint between
lifecycle-runtime and lifecycle-runtime-compose. If both
artifacts are in the dependency tree, their versions
should match. This will now be enforced by gradle
automatically bumping up either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: I0f6b3928ac0b338b0fcc6835828dd43fadee8c0d
M lifecycle/lifecycle-runtime-compose/build.gradle
M lifecycle/lifecycle-runtime/build.gradle
ya...@google.com <ya...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit b671082b2d2ba47ca41f33646780e797ac6689cc
Author: Sanura N'Jaka <sanura@google.com>
Date: Wed Aug 17 20:02:11 2022
Add project dependency constraint between lifecycle-common and lifecycle-runtime
Added bi-directional project version constraint between lifecycle-common and
lifecycle-runtime. If both artifacts are in the dependency tree, their versions
should match. This will now be enforced by gradle automatically bumping up
either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: I98fea6d1a6b2cde61b0cf5c7822cd98b6218c578
M lifecycle/lifecycle-runtime/build.gradle
M lifecycle/lifecycle-common/build.gradle
https://android-review.googlesource.com/2188999
Branch: androidx-main
commit b671082b2d2ba47ca41f33646780e797ac6689cc
Author: Sanura N'Jaka <sanura@google.com>
Date: Wed Aug 17 20:02:11 2022
Add project dependency constraint between lifecycle-common and lifecycle-runtime
Added bi-directional project version constraint between lifecycle-common and
lifecycle-runtime. If both artifacts are in the dependency tree, their versions
should match. This will now be enforced by gradle automatically bumping up
either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: I98fea6d1a6b2cde61b0cf5c7822cd98b6218c578
M lifecycle/lifecycle-runtime/build.gradle
M lifecycle/lifecycle-common/build.gradle
gm...@gmail.com <gm...@gmail.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit f9794b48f28888fa27810c9b758062461d632454
Author: Sanura N'Jaka <sanura@google.com>
Date: Wed Aug 17 22:26:13 2022
Add project dependency constraint between lifecycle-runtime and lifecycle-runtime-testing
Added bi-directional project version constraint between
lifecycle-runtime and lifecycle-runtime-testing. If both
artifacts are in the dependency tree, their versions
should match. This will now be enforced by gradle
automatically bumping up either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: I3ef6323dbdd3da20bad912e1bd7b9000e6832b7d
M lifecycle/lifecycle-runtime-testing/build.gradle
M lifecycle/lifecycle-runtime/build.gradle
https://android-review.googlesource.com/2188586
Branch: androidx-main
commit f9794b48f28888fa27810c9b758062461d632454
Author: Sanura N'Jaka <sanura@google.com>
Date: Wed Aug 17 22:26:13 2022
Add project dependency constraint between lifecycle-runtime and lifecycle-runtime-testing
Added bi-directional project version constraint between
lifecycle-runtime and lifecycle-runtime-testing. If both
artifacts are in the dependency tree, their versions
should match. This will now be enforced by gradle
automatically bumping up either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: I3ef6323dbdd3da20bad912e1bd7b9000e6832b7d
M lifecycle/lifecycle-runtime-testing/build.gradle
M lifecycle/lifecycle-runtime/build.gradle
ya...@google.com <ya...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 34098809c70a985495ec836f286a7b8d8245808f
Author: Sanura N'Jaka <sanura@google.com>
Date: Wed Aug 17 22:16:45 2022
Add project dependency constraint between lifecycle-runtime and lifecycle-runtime-ktx
Added bi-directional project version constraint between
lifecycle-runtime and lifecycle-runtime-ktx. If both
artifacts are in the dependency tree, their versions
should match. This will now be enforced by gradle
automatically bumping up either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: Id0a3eae91e652a3bdb7a64d1f17dd5c30e7fa03f
M lifecycle/lifecycle-runtime/build.gradle
M lifecycle/lifecycle-runtime-ktx/build.gradle
https://android-review.googlesource.com/2188585
Branch: androidx-main
commit 34098809c70a985495ec836f286a7b8d8245808f
Author: Sanura N'Jaka <sanura@google.com>
Date: Wed Aug 17 22:16:45 2022
Add project dependency constraint between lifecycle-runtime and lifecycle-runtime-ktx
Added bi-directional project version constraint between
lifecycle-runtime and lifecycle-runtime-ktx. If both
artifacts are in the dependency tree, their versions
should match. This will now be enforced by gradle
automatically bumping up either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: Id0a3eae91e652a3bdb7a64d1f17dd5c30e7fa03f
M lifecycle/lifecycle-runtime/build.gradle
M lifecycle/lifecycle-runtime-ktx/build.gradle
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit e048cb40ff636b9d2abef88f5e67269b77c85b41
Author: Sanura N'Jaka <sanura@google.com>
Date: Thu Aug 18 17:50:35 2022
Add project dependency constraint between lifecycle-viewmodel and lifecycle-viewmodel-ktx
Added bi-directional project version constraint between
lifecycle-viewmodel and lifecycle-viewmodel-ktx. If both
artifacts are in the dependency tree, their versions
should match. This will now be enforced by gradle
automatically bumping up either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: Iddf75acaeb3648cbb8b49d1a80fb7dc3258f9af1
M lifecycle/lifecycle-viewmodel/build.gradle
M lifecycle/lifecycle-viewmodel-ktx/build.gradle
https://android-review.googlesource.com/2189945
Branch: androidx-main
commit e048cb40ff636b9d2abef88f5e67269b77c85b41
Author: Sanura N'Jaka <sanura@google.com>
Date: Thu Aug 18 17:50:35 2022
Add project dependency constraint between lifecycle-viewmodel and lifecycle-viewmodel-ktx
Added bi-directional project version constraint between
lifecycle-viewmodel and lifecycle-viewmodel-ktx. If both
artifacts are in the dependency tree, their versions
should match. This will now be enforced by gradle
automatically bumping up either version to meet constraint.
Test: N/A
Bug: 242871265
Change-Id: Iddf75acaeb3648cbb8b49d1a80fb7dc3258f9af1
M lifecycle/lifecycle-viewmodel/build.gradle
M lifecycle/lifecycle-viewmodel-ktx/build.gradle
Description
Version used: 2.0.0
Devices/Android versions reproduced on: Wileyfox Swift (API 25)
Not reproduced on Android Emulator API 15 (probably due to different SQLite version).
SQLite constraint violation on method annotated with @Insert(onConflict = OnConflictStrategy.ROLLBACK) causes SQLiteException instead of SQLiteConstraintException.
Stack trace example:
E/AndroidRuntime: FATAL EXCEPTION: Thread-8
Process: gmk57.roomtest, PID: 2152
android.database.sqlite.SQLiteException: cannot rollback - no transaction is active (code 1)
at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method)
at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555)
at android.database.sqlite.SQLiteSession.endTransactionUnchecked(SQLiteSession.java:439)
at android.database.sqlite.SQLiteSession.endTransaction(SQLiteSession.java:401)
at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:524)
at androidx.sqlite.db.framework.FrameworkSQLiteDatabase.endTransaction(FrameworkSQLiteDatabase.java:90)
at androidx.room.RoomDatabase.endTransaction(RoomDatabase.java:266)
at gmk57.roomtest.DataDao_Impl.insertRollback(DataDao_Impl.java:99)
at gmk57.roomtest.MainActivity.violateRollback(MainActivity.java:67)
Taking into account that
1) Room wraps methods annotated with @Insert, @Update and @Transaction in explicit transaction, and
2) ABORT, FAIL and ROLLBACK all throw SQLiteConstraintException, effectively rolling back this transaction
- the broader question is: is there any reason to provide FAIL and ROLLBACK options at all?
I also think the documentation should clearly describe the behavior of each strategy in specific case of Android + Room (e.g. which strategies throw an exception and which do not), instead of just linking to partly irrelevant SQLite documentation.
Sample project attached.