Fixed
Status Update
Comments
ma...@mark43.com <ma...@mark43.com> #2
Comment has been deleted.
el...@google.com <el...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 05f2d67cc04c5f76bee122b9e1e23ca1bf61a326
Author: Sumir Kataria <sumir@google.com>
Date: Tue Aug 21 16:36:05 2018
Fix periodic work so it executes repeatedly.
Processor.onExecuted is the wrong place for cancelling things in
other schedulers. It doesn't have the proper information about
what needs to be cancelled. For example, PeriodicWork should NOT
be cancelled. This should be done right before Schedulers.schedule
at the end of WorkerWrapper.
Bug: 112859683
Test: Added new tests for API 22-, manually tested using
integration app for 23+ since JobScheduler enforces a 15 minute
limit between executions
Change-Id: Ia0e6e17367fbc2493339b9b1275453267c571580
M work/workmanager/src/androidTest/java/androidx/work/impl/WorkManagerImplTest.java
M work/workmanager/src/main/java/androidx/work/impl/Processor.java
M work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
https://android-review.googlesource.com/735827
https://goto.google.com/android-sha1/05f2d67cc04c5f76bee122b9e1e23ca1bf61a326
Branch: androidx-master-dev
commit 05f2d67cc04c5f76bee122b9e1e23ca1bf61a326
Author: Sumir Kataria <sumir@google.com>
Date: Tue Aug 21 16:36:05 2018
Fix periodic work so it executes repeatedly.
Processor.onExecuted is the wrong place for cancelling things in
other schedulers. It doesn't have the proper information about
what needs to be cancelled. For example, PeriodicWork should NOT
be cancelled. This should be done right before Schedulers.schedule
at the end of WorkerWrapper.
Bug: 112859683
Test: Added new tests for API 22-, manually tested using
integration app for 23+ since JobScheduler enforces a 15 minute
limit between executions
Change-Id: Ia0e6e17367fbc2493339b9b1275453267c571580
M work/workmanager/src/androidTest/java/androidx/work/impl/WorkManagerImplTest.java
M work/workmanager/src/main/java/androidx/work/impl/Processor.java
M work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
el...@google.com <el...@google.com>
ap...@google.com <ap...@google.com> #4
I am experiencing the same problem using the following code:
val myWorker = PeriodicWorkRequestBuilder<MyWorker>(15, TimeUnit.MINUTES)
myWorker.addTag(NEWSFEED_SYNC_WORKER_ID)
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()
myWorker.setConstraints(constraints)
WorkManager.getInstance().enqueue(myWorker.build())
val myWorker = PeriodicWorkRequestBuilder<MyWorker>(15, TimeUnit.MINUTES)
myWorker.addTag(NEWSFEED_SYNC_WORKER_ID)
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()
myWorker.setConstraints(constraints)
WorkManager.getInstance().enqueue(myWorker.build())
pr...@google.com <pr...@google.com> #5
The fix will be available in alpha08.
Description
Version used:"2.6.0-rc01"
Devices/Android versions reproduced on: Not related
Kotlin implementation of DAO for @RawQuery function implementation with return type Double is initailised with 0 instead of 0.0 on null check.
@Entity
class Test(@PrimaryKey val d: Double, val l: Long) {
@Dao
interface TestDao {
@RawQuery
fun getLocation(query: SupportSQLiteQuery): Test
}
}
For this setup Room generates the following implementation:
private fun __entityCursorConverter_comTest(cursor: Cursor): Test {
val _entity: Test
val _cursorIndexOfD: Int = getColumnIndex(cursor, "d")
val _cursorIndexOfL: Int = getColumnIndex(cursor, "l")
val _tmpD: Double
if (_cursorIndexOfD == -1) {
_tmpD = 0 //Error: The integer literal does not conform to the expected type Double
} else {
_tmpD = cursor.getDouble(_cursorIndexOfD)
}
val _tmpL: Long
if (_cursorIndexOfL == -1) {
_tmpL = 0
} else {
_tmpL = cursor.getLong(_cursorIndexOfL)
}
_entity = Test(_tmpD,_tmpL)
return _entity
}