Status Update
Comments
lb...@gmail.com <lb...@gmail.com>
mk...@google.com <mk...@google.com>
bo...@google.com <bo...@google.com>
lb...@gmail.com <lb...@gmail.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
wd...@google.com <wd...@google.com> #3
lb...@gmail.com <lb...@gmail.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
wd...@google.com <wd...@google.com> #5
Another similar issue that's related
wd...@google.com <wd...@google.com> #6
RE#4 I need to try this on Windows laptop first and I couldn't repro on MacOS or Linux. But I think this is most likely related to the modem simulator we introduced for API 31. Will need to further investigate.
lb...@gmail.com <lb...@gmail.com> #7
Why isn't the emulator tested more on Windows OS?
Windows OS is more popular than Linux and MacOS combined (on desktop) ...
lb...@gmail.com <lb...@gmail.com> #8
wd...@google.com <wd...@google.com> #9
I reproduced this bug on Windows with emulator version 31.2.10-8420304
lb...@gmail.com <lb...@gmail.com> #10
wd...@google.com <wd...@google.com> #11
Found the root cause when the "call device" button was unresponsive. It became unresponsive because the inbound call failed to initialize. Basically, the modem simulator's shared FD failed. When receive_inbound_call is invoked, it is supposed to make connection to the "host server" via a shared fd but it is flaky on Windows unfortunately.
modem-simulator: receive_inbound_call:101 inbound call from 6505551212
modem-simulator: process_msgs:296 waiting for new messages ...
modem-simulator: main_host_thread:501 got connection at host server at 65094
modem-simulator: start_calling_thread:254 making a connection to main host server 65094
modem-simulator: main_host_thread:507 Detected close from the other side
modem-simulator: start_calling_thread:262 nothing read quit
modem-simulator: main_host_thread:494 looping at main host server at 65094
modem-simulator: start_calling_thread:284 done with this thread
lb...@gmail.com <lb...@gmail.com> #12
@11 So it could be the same reason that this bug occurs:
?
wd...@google.com <wd...@google.com> #13
RE#12 I have uploaded a
lb...@gmail.com <lb...@gmail.com> #14
Have you tested it on all API versions, to make sure that it doesn't cause new issues, and also fixes the issue on other places in case it's there too?
wd...@google.com <wd...@google.com> #15
RE#14 This issue is for API 31+, I will check for API 32 and API 33. Thanks for reminding me.
lb...@gmail.com <lb...@gmail.com> #16
wd...@google.com <wd...@google.com>
lb...@gmail.com <lb...@gmail.com> #17
When will the fix be available?
wd...@google.com <wd...@google.com> #18
The fix has been merged in both 31 release and 32 release for since 05/2022.
lb...@gmail.com <lb...@gmail.com> #19
On which version ?
Description
1. Start emulator API 31.
2. On the "phone" page of "extended controls" window, choose "call device". Then end the call.
3. Try step 2 multiple times.
The bug is that eventually it will ignore pressing the button sometimes.
------------------
Studio Build:
Version of Gradle Plugin:
Version of Gradle:
Version of Java:
OS:
Android Studio Bumblebee | 2021.1.1 Patch 3
Build #AI-211.7628.21.2111.8309675, built on March 16, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 8048M
Cores: 12
Registry: external.system.auto.import.disabled=true, ide.settings.move.mouse.on.default.button=true, debugger.watches.in.variables=false
Non-Bundled Plugins: GenerateSerialVersionUID (3.0.3), GenerateSerializationHelpers (1.0.6), Show As ... (1.0.3), com.dubreuia (2.2.0), com.github.beansoft.jadx.gui.idea (2021.2.1), com.intellij.marketplace (211.7628.36), String Manipulation (9.4.0), com.tabnine.TabNine (0.6.1), org.jetbrains.kotlin (211-1.6.21-release-334-AS7442.40), com.google.mad-scorecard (1.2), com.ppismerov.ksvu (0.0.1), net.aquadc.mike.plugin (0.22), izhangzhihao.rainbow.brackets (6.23), org.intellij.plugins.markdown (211.7142.37)