Status Update
Comments
si...@google.com <si...@google.com> #2
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
si...@google.com <si...@google.com>
si...@google.com <si...@google.com>
ha...@google.com <ha...@google.com>
ap...@google.com <ap...@google.com> #3
ha...@google.com <ha...@google.com>
ap...@google.com <ap...@google.com> #4
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
ex...@gmail.com <ex...@gmail.com> #5
I tried this on beta06 (assuming that's where the fix went) and fontStyle
and fontFamily
now apply as expected. However, I still get underlining AND linethrough on "World". I wanted to confirm that it is your intention to combine them, based on the comments above.
Playing with the example further:
- Changing the
Text
toTextDecoration.None
results in no decoration on "Hello" but a linethrough on "World" (seems reasonable -- annotated overrides Text) - Changing the annotated "World" to
TextDecoration.None
and theText
toTextDecoration.LineThrough
(as suggested in the comments above) results in a linethrough on "Hello World" (seems inconsistent -- shouldn't "World" have no decoration?)
(And sometimes, oddly, I have to uninstall the test app manually in the emulator before the new code will take effect.)
ha...@google.com <ha...@google.com> #6
Hi, thanks for your report! The fixing CL for TextDeocration and LineThrough was just merged recently. And it's probably not included in the beta-06, can you please check it again in next release?
ex...@gmail.com <ex...@gmail.com> #7
OK, I will. (I had assumed that since the result had changed from the last time I ran the testcase that this fix was applied, but maybe some other change was responsible.)
ex...@gmail.com <ex...@gmail.com> #8
The fix works as expected in beta07.
(I still occasionally have to uninstall the test app manually in the emulator before the new code will take effect. I'm sure this is an AS issue but it seems to hit mostly (only?) when I've been running this test.)
ha...@google.com <ha...@google.com> #9
Thanks for the confirmation! I'll mark it as verified for now. :)
Description
AS Canary 13, beta04
There are some inconsistencies when
Text
parameters are combined with anAnnotatedString
input. In the example below (see screenshot as well) thefontSize
,textDecoration
,color
, andletterSpacing
parameters ofText
are applied to the whole annotated text, but thefontStyle
andfontFamily
parameters are not. I expected "World" to display as bold, italic and monospace.Note also how
textDecoration = TextDecoration.LineThrough
from the annotated string andTextDecoration.Underline
on theText
combine, which seems reasonable, until you consider attributes likecolor
, which override:color
specified in annotated text overrides the parametercolor
inText
for the annotated portion, as expected (not shown in example).