Fixed
Status Update
Comments
jb...@google.com <jb...@google.com>
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit ef1265ecca338a7bb3929def8085236d45ace500
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Thu Jun 29 11:16:59 2023
Update Room Gradle plugin APIs to not always require per-variant configurations.
Most Room users don't have per-variant schemas which means having per-variant schema directories can decrease the user experience, specially as users migrate from the current annotation processor option approach to the plugin as per-variant directories where also not needed then if not necessary. This change updates the plugin APIs to accept a global location for all variants without creating multiple directories, enabling smoother migrations but also flexible enough to configure flavors or build type schemas while still retaining the benefits of the plugin (reproducible and cacheable builds).
The API is updated to contain overloads for configuring a single schema location or per-variant locations:
```
room {
// For all variants
schemaLocation("$projectDir/schemas/")
// For a specific variant
schemaLocation("variantName", ("$projectDir/schemas/variantName")
}
```
and an example usage assuming two build flavors: ‘demo’ and ‘full’ and the two default build types ‘debug’ and ‘release’:
```
room {
// Applies to demoDebug only
schemaLocation("demoDebug", ("$projectDir/schemas/demoDebug")
// Applies to demoDebug and demoRelease
schemaLocation("demo", ("$projectDir/schemas/demo")
// Applies to demoDebug and fullDebug
schemaLocation("debug", ("$projectDir/schemas/debug")
}
```
Bug: 278266663
Test: RoomGradlePluginTest
Change-Id: I09d6f9a77d3737bef2ce73193344a8b31f5059a8
M room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomExtension.kt
M room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomGradlePlugin.kt
M room/room-gradle-plugin/src/test/java/androidx/room/gradle/RoomGradlePluginTest.kt
https://android-review.googlesource.com/2644711
Branch: androidx-main
commit ef1265ecca338a7bb3929def8085236d45ace500
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Thu Jun 29 11:16:59 2023
Update Room Gradle plugin APIs to not always require per-variant configurations.
Most Room users don't have per-variant schemas which means having per-variant schema directories can decrease the user experience, specially as users migrate from the current annotation processor option approach to the plugin as per-variant directories where also not needed then if not necessary. This change updates the plugin APIs to accept a global location for all variants without creating multiple directories, enabling smoother migrations but also flexible enough to configure flavors or build type schemas while still retaining the benefits of the plugin (reproducible and cacheable builds).
The API is updated to contain overloads for configuring a single schema location or per-variant locations:
```
room {
// For all variants
schemaLocation("$projectDir/schemas/")
// For a specific variant
schemaLocation("variantName", ("$projectDir/schemas/variantName")
}
```
and an example usage assuming two build flavors: ‘demo’ and ‘full’ and the two default build types ‘debug’ and ‘release’:
```
room {
// Applies to demoDebug only
schemaLocation("demoDebug", ("$projectDir/schemas/demoDebug")
// Applies to demoDebug and demoRelease
schemaLocation("demo", ("$projectDir/schemas/demo")
// Applies to demoDebug and fullDebug
schemaLocation("debug", ("$projectDir/schemas/debug")
}
```
Bug: 278266663
Test: RoomGradlePluginTest
Change-Id: I09d6f9a77d3737bef2ce73193344a8b31f5059a8
M room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomExtension.kt
M room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomGradlePlugin.kt
M room/room-gradle-plugin/src/test/java/androidx/room/gradle/RoomGradlePluginTest.kt
ap...@google.com <ap...@google.com> #3
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.room:room-gradle-plugin:2.6.0-alpha03
jb...@google.com <jb...@google.com> #4
This has been fixed internally and will be available in the Activity 1.9.0-alpha03
release.
Description
Component used: Activity
Version used: 1.7.2
As explained in the Predictive Back guide , you shouldn't use an
OnBackPressedCallback
for non-UI cases (for example, just for logging back). If you add a callback, you have to handle back completely in your callback.That means that calling
remove()
and triggering back viarequireActivity.onBackPressed()
oronBackPressedDispatcher.onBackPressed()
is always an anti-pattern and something that you should not do.It would be helpful if there was a Lint error that specifically catch this case and warn developers ahead of time that this is the wrong thing to do and offer alternatives or at least link to the guide for more information.