Fixed
Status Update
Comments
cc...@google.com <cc...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit b90079595f33f58fece04026a97faa0d243acdb1
Author: Yuichi Araki <yaraki@google.com>
Date: Wed Sep 18 16:55:49 2019
Change the way to detect mismatch between POJO and query
This fixes cursor mismatch warnings with expandProjection.
Bug: 140759491
Test: QueryMethodProcessorTest
Change-Id: I7659002e5e0d1ef60fc1af2a625c0c36da0664d8
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/TestProcessor.kt
https://android-review.googlesource.com/1123258
https://goto.google.com/android-sha1/b90079595f33f58fece04026a97faa0d243acdb1
Branch: androidx-master-dev
commit b90079595f33f58fece04026a97faa0d243acdb1
Author: Yuichi Araki <yaraki@google.com>
Date: Wed Sep 18 16:55:49 2019
Change the way to detect mismatch between POJO and query
This fixes cursor mismatch warnings with expandProjection.
Bug: 140759491
Test: QueryMethodProcessorTest
Change-Id: I7659002e5e0d1ef60fc1af2a625c0c36da0664d8
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/TestProcessor.kt
ap...@google.com <ap...@google.com> #3
cc...@google.com <cc...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-master-dev
commit bdde5a1a970ddc9007b28de4aa29d60ffa588f08
Author: Yigit Boyar <yboyar@google.com>
Date: Thu Apr 16 16:47:05 2020
Re-factor how errors are dismissed when query is re-written
This CL changes how we handle errors/warnings if query is
re-written.
There was a bug in expandProjection where we would report warnings
for things that Room already fixes automatically ( b/140759491 ).
The solution to that problem (I7659002e5e0d1ef60fc1af2a625c0c36da0664d8)
solved it by deferring validating of columns until after re-write
decision is made. Unfortunately, this required changing PojoRowAdapter
to have a dummy mapping until it is validating, make it hard to use
as it does have a non-null mapping which is not useful.
This CL partially reverts that change and instead rely on the log
deferring logic we have in Context. This way, we don't need to break
the stability of PojoRowAdapter while still having the ability to
drop warnings that room fixes. This will also play nicer when we
have different query re-writing options that can use more information
about the query results.
Bug: 153387066
Bug: 140759491
Test: existing tests pass
Change-Id: I2ec967c763d33d7a3ff02c1a13c6953b460d1e5f
M room/compiler/src/main/kotlin/androidx/room/log/RLog.kt
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
https://android-review.googlesource.com/1288456
Branch: androidx-master-dev
commit bdde5a1a970ddc9007b28de4aa29d60ffa588f08
Author: Yigit Boyar <yboyar@google.com>
Date: Thu Apr 16 16:47:05 2020
Re-factor how errors are dismissed when query is re-written
This CL changes how we handle errors/warnings if query is
re-written.
There was a bug in expandProjection where we would report warnings
for things that Room already fixes automatically (
The solution to that problem (I7659002e5e0d1ef60fc1af2a625c0c36da0664d8)
solved it by deferring validating of columns until after re-write
decision is made. Unfortunately, this required changing PojoRowAdapter
to have a dummy mapping until it is validating, make it hard to use
as it does have a non-null mapping which is not useful.
This CL partially reverts that change and instead rely on the log
deferring logic we have in Context. This way, we don't need to break
the stability of PojoRowAdapter while still having the ability to
drop warnings that room fixes. This will also play nicer when we
have different query re-writing options that can use more information
about the query results.
Bug: 153387066
Bug: 140759491
Test: existing tests pass
Change-Id: I2ec967c763d33d7a3ff02c1a13c6953b460d1e5f
M room/compiler/src/main/kotlin/androidx/room/log/RLog.kt
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
ji...@google.com <ji...@google.com> #5
This is WAI. Neither delete-dexopt
nor compile -f -m verify
touches any profile. They should only change the compilation state. We intentionally keep the profiles so that they can be used again on the next compile -m speed-profile
. If you would like to clear profiles, please use compile --reset
.
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 85512318758266d73a60c2fe74960387827068e5
Author: Chris Craik <ccraik@google.com>
Date: Tue Nov 01 15:56:03 2022
Revert "Reset Compilation cleanly, without reinstall"
Bug:249143766
Fixes:256693133
Test: BaselineProfileRuleTest
Resetting compilation without reinstall will need to wait for API 34,
as there's no way to clear the reference profile for any methods
already compiled.
A follow up should use --reset on API 34, and consider skipping
--reset for Full / None, as it shouldn't be necessary.
Note that this revert leaves the kdoc changes in place.
This reverts commit 7c275cf935cf13bb319a7af0a0e1c87bcb493f32.
Change-Id: I5719feb75876b450402009a9cb529c2a79c7cf2b
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt
D compose/integration-tests/macrobenchmark/src/androidTest/java/androidx/compose/integration/macrobenchmark/CompilationConsistencyBenchmark.kt
https://android-review.googlesource.com/2282121
Branch: androidx-main
commit 85512318758266d73a60c2fe74960387827068e5
Author: Chris Craik <ccraik@google.com>
Date: Tue Nov 01 15:56:03 2022
Revert "Reset Compilation cleanly, without reinstall"
Bug:249143766
Fixes:256693133
Test: BaselineProfileRuleTest
Resetting compilation without reinstall will need to wait for API 34,
as there's no way to clear the reference profile for any methods
already compiled.
A follow up should use --reset on API 34, and consider skipping
--reset for Full / None, as it shouldn't be necessary.
Note that this revert leaves the kdoc changes in place.
This reverts commit 7c275cf935cf13bb319a7af0a0e1c87bcb493f32.
Change-Id: I5719feb75876b450402009a9cb529c2a79c7cf2b
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt
D compose/integration-tests/macrobenchmark/src/androidTest/java/androidx/compose/integration/macrobenchmark/CompilationConsistencyBenchmark.kt
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit 89b4c45ba74dfb3eb7a702c4534140074e8f3cd5
Author: Chris Craik <ccraik@google.com>
Date: Wed Feb 08 13:41:13 2023
Support cmd package compile --reset on Android 14
Fixes: 249143766
Test: TrivialStartupBenchmark
Test: CompilationModeTest
Relnote: "On Android 14+, Macrobenchmark no longer reinstalls target
applications to reset compilation state, thanks to a new platform
feature. Previously it was necessary to have a rooted device, or to
deal with all application state (e.g. login) being removed before each
benchmark runs."
Also adds clarifying error to internal legacy metric failure occurring
on Android 14.
Change-Id: I9b08cfecc36735d057b388e75d1c9b50b53ed083
M benchmark/benchmark-macro/build.gradle
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Metric.kt
https://android-review.googlesource.com/2427952
Branch: androidx-main
commit 89b4c45ba74dfb3eb7a702c4534140074e8f3cd5
Author: Chris Craik <ccraik@google.com>
Date: Wed Feb 08 13:41:13 2023
Support cmd package compile --reset on Android 14
Fixes: 249143766
Test: TrivialStartupBenchmark
Test: CompilationModeTest
Relnote: "On Android 14+, Macrobenchmark no longer reinstalls target
applications to reset compilation state, thanks to a new platform
feature. Previously it was necessary to have a rooted device, or to
deal with all application state (e.g. login) being removed before each
benchmark runs."
Also adds clarifying error to internal legacy metric failure occurring
on Android 14.
Change-Id: I9b08cfecc36735d057b388e75d1c9b50b53ed083
M benchmark/benchmark-macro/build.gradle
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Metric.kt
na...@google.com <na...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.benchmark:benchmark-macro:1.2.0-alpha10
Description
See b/230518212 and b/230665435