Fixed
Status Update
Comments
bo...@gmail.com <bo...@gmail.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
Description
Component used: Workmanager Version used: 2.4.0 Devices/Android versions reproduced on: Multiple devices, Nokia 8.1 Android 10, Huawei P30 lite (Android 9), Xaomi Redmi 9 (Android 10)
In our app we run 3 jobs through
WorkManager
and we are observing that sometimes a periodic job that runs the most often is sometimes not added in the system job scheduler after it ran. This can be verified by looking atadb shell dumpsys jobscheduler
. The devices in question have been left alone for a while over a couple of hours.WorkManager.initialize()
will also not restore these missing jobs.One reason for this could be that the system job scheduler implementation isn't checking the return code from
JobScheduler.schedule()
, especially since this issue doesn't happen every single time the job has run.Logs from the app indicate
WorkManager
scheduling job id 7, but this id is not showing up for thenl.rijksoverheid.en
package. Only id 3 & 4, that have been scheduled at the same time as the initial periodic job, are shown in the output:Here's the WorkManager log output after the job has been run: