Fixed
Status Update
Comments
jb...@google.com <jb...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 8d1b84a6aabbb17cfd026e9626c612bf64a49709
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Fri Mar 25 15:41:47 2022
Call Processor.startWork() in `DelayMetCommandHandler` from serial executor
After this CL `Processor.startWork()` is always called from serial executor,
so there is now a guarantee for other work in the serial executor, that now new
work will be started in parallel. This is important for work updating feature because
we want to guarantee that if update was successful, then next worker execution will have
updated spec.
bug: 219446409
Test: ./gradlew :work:work-runtime:cC
Change-Id: Ic9ff9e0fdcc6524b12b3761b9976f328e834e95a
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/DelayMetCommandHandler.java
https://android-review.googlesource.com/2042710
Branch: androidx-main
commit 8d1b84a6aabbb17cfd026e9626c612bf64a49709
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Fri Mar 25 15:41:47 2022
Call Processor.startWork() in `DelayMetCommandHandler` from serial executor
After this CL `Processor.startWork()` is always called from serial executor,
so there is now a guarantee for other work in the serial executor, that now new
work will be started in parallel. This is important for work updating feature because
we want to guarantee that if update was successful, then next worker execution will have
updated spec.
bug: 219446409
Test: ./gradlew :work:work-runtime:cC
Change-Id: Ic9ff9e0fdcc6524b12b3761b9976f328e834e95a
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/DelayMetCommandHandler.java
jb...@google.com <jb...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 327311c283773ad6c7e3d0fdff05136df925f8ad
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Fri Apr 01 23:45:01 2022
Migrate enums to Kotlin
bug: 219446409
Test: NA
Change-Id: I6331453c65b372309ab2c7af17efa649c8feeb54
M work/work-runtime/src/main/java/androidx/work/ExistingWorkPolicy.kt
M work/work-runtime/src/main/java/androidx/work/OutOfQuotaPolicy.kt
M work/work-runtime/src/main/java/androidx/work/NetworkType.kt
M work/work-runtime/src/main/java/androidx/work/ExistingPeriodicWorkPolicy.kt
M work/work-runtime/src/main/java/androidx/work/BackoffPolicy.kt
https://android-review.googlesource.com/2052912
Branch: androidx-main
commit 327311c283773ad6c7e3d0fdff05136df925f8ad
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Fri Apr 01 23:45:01 2022
Migrate enums to Kotlin
bug: 219446409
Test: NA
Change-Id: I6331453c65b372309ab2c7af17efa649c8feeb54
M work/work-runtime/src/main/java/androidx/work/ExistingWorkPolicy.kt
M work/work-runtime/src/main/java/androidx/work/OutOfQuotaPolicy.kt
M work/work-runtime/src/main/java/androidx/work/NetworkType.kt
M work/work-runtime/src/main/java/androidx/work/ExistingPeriodicWorkPolicy.kt
M work/work-runtime/src/main/java/androidx/work/BackoffPolicy.kt
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 12a144ae86997cb6a69545b1dd8f1cc559220772
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Fri Apr 01 23:38:59 2022
Move enum file from *.java -> *.kt
bug: 219446409
Test: NA
Change-Id: I0ce0df156dbc1c2820b62215fbfb0c0b07add20a
M work/work-runtime/src/main/java/androidx/work/ExistingWorkPolicy.kt
M work/work-runtime/src/main/java/androidx/work/OutOfQuotaPolicy.kt
M work/work-runtime/src/main/java/androidx/work/NetworkType.kt
M work/work-runtime/src/main/java/androidx/work/ExistingPeriodicWorkPolicy.kt
M work/work-runtime/src/main/java/androidx/work/BackoffPolicy.kt
https://android-review.googlesource.com/2052911
Branch: androidx-main
commit 12a144ae86997cb6a69545b1dd8f1cc559220772
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Fri Apr 01 23:38:59 2022
Move enum file from *.java -> *.kt
bug: 219446409
Test: NA
Change-Id: I0ce0df156dbc1c2820b62215fbfb0c0b07add20a
M work/work-runtime/src/main/java/androidx/work/ExistingWorkPolicy.kt
M work/work-runtime/src/main/java/androidx/work/OutOfQuotaPolicy.kt
M work/work-runtime/src/main/java/androidx/work/NetworkType.kt
M work/work-runtime/src/main/java/androidx/work/ExistingPeriodicWorkPolicy.kt
M work/work-runtime/src/main/java/androidx/work/BackoffPolicy.kt
jb...@google.com <jb...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit 9d5b985fd5b1e65c2e0f2593d10eb956f1c80580
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Fri Apr 01 17:43:51 2022
Restrict schedulers to cancel only their own work.
Previously schedulers were able to cancel a work that
they haven't started. E.g. `CommandHandler` on cancel
signal were calling "stopWork(workId)" unconditionally,
no matter if it actually started that work or not
bug: 219446409
Test: refactoring
Change-Id: Ia48e3239c3302d7b6ff1114c3baa52a62a40ee32
M work/work-runtime/src/main/java/androidx/work/impl/utils/StopWorkRunnable.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcher.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/CommandHandler.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/foreground/SystemForegroundDispatcherTest.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/greedy/GreedySchedulerTest.java
M work/work-testing/src/main/java/androidx/work/testing/TestScheduler.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcherTest.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/ProcessorTest.java
M work/work-gcm/src/main/java/androidx/work/impl/background/gcm/WorkManagerGcmDispatcher.java
M work/work-runtime/src/main/java/androidx/work/impl/WorkManagerImpl.java
A work/work-runtime/src/main/java/androidx/work/impl/WorkRunId.kt
M work/work-runtime/src/main/java/androidx/work/impl/Processor.java
M work/work-runtime/src/main/java/androidx/work/impl/background/greedy/GreedyScheduler.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/ProcessorTests.kt
M work/work-runtime/src/main/java/androidx/work/impl/utils/StartWorkRunnable.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/DelayMetCommandHandler.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemjob/SystemJobService.java
https://android-review.googlesource.com/2052907
Branch: androidx-main
commit 9d5b985fd5b1e65c2e0f2593d10eb956f1c80580
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Fri Apr 01 17:43:51 2022
Restrict schedulers to cancel only their own work.
Previously schedulers were able to cancel a work that
they haven't started. E.g. `CommandHandler` on cancel
signal were calling "stopWork(workId)" unconditionally,
no matter if it actually started that work or not
bug: 219446409
Test: refactoring
Change-Id: Ia48e3239c3302d7b6ff1114c3baa52a62a40ee32
M work/work-runtime/src/main/java/androidx/work/impl/utils/StopWorkRunnable.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcher.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/CommandHandler.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/foreground/SystemForegroundDispatcherTest.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/greedy/GreedySchedulerTest.java
M work/work-testing/src/main/java/androidx/work/testing/TestScheduler.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcherTest.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/ProcessorTest.java
M work/work-gcm/src/main/java/androidx/work/impl/background/gcm/WorkManagerGcmDispatcher.java
M work/work-runtime/src/main/java/androidx/work/impl/WorkManagerImpl.java
A work/work-runtime/src/main/java/androidx/work/impl/WorkRunId.kt
M work/work-runtime/src/main/java/androidx/work/impl/Processor.java
M work/work-runtime/src/main/java/androidx/work/impl/background/greedy/GreedyScheduler.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/ProcessorTests.kt
M work/work-runtime/src/main/java/androidx/work/impl/utils/StartWorkRunnable.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/DelayMetCommandHandler.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemjob/SystemJobService.java
na...@google.com <na...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit c8f83d8b1fe59a51ab60124c1604b7f9b83bac78
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Thu Apr 07 19:13:33 2022
Improve implementation note on WorkRunId
bug: 219446409
Test: NA
Change-Id: If923e68aefba620c97a1e9373351e67d813df765
M work/work-runtime/src/main/java/androidx/work/impl/WorkRunId.kt
https://android-review.googlesource.com/2057643
Branch: androidx-main
commit c8f83d8b1fe59a51ab60124c1604b7f9b83bac78
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Thu Apr 07 19:13:33 2022
Improve implementation note on WorkRunId
bug: 219446409
Test: NA
Change-Id: If923e68aefba620c97a1e9373351e67d813df765
M work/work-runtime/src/main/java/androidx/work/impl/WorkRunId.kt
na...@google.com <na...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit b1e1b4714f013edda06df4b0c92d18c28e5b958d
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Wed May 25 11:51:51 2022
Use WorkSpec in ConstraintsTracker
Going forward generation will be added to WorkSpec,
so it is important to know constraints for which
workspec exactly were met.
bug: 219446409
Test: Refactoring
Change-Id: I9beb5bc1a0345380daaf4fa2c1974eab213c9577
M work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/controllers/ConstraintControllerTest.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/foreground/SystemForegroundDispatcherTest.kt
M work/work-runtime/src/main/java/androidx/work/impl/foreground/SystemForegroundDispatcher.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/WorkConstraintsTrackerTest.kt
M work/work-runtime/src/main/java/androidx/work/impl/background/greedy/GreedyScheduler.java
M work/work-runtime/src/main/java/androidx/work/impl/constraints/WorkConstraintsCallback.kt
M work/work-runtime/src/main/java/androidx/work/impl/constraints/controllers/ConstraintController.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/greedy/GreedySchedulerTest.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/DelayMetCommandHandler.java
M work/work-runtime/src/main/java/androidx/work/impl/constraints/WorkConstraintsTracker.kt
M work/work-runtime/src/main/java/androidx/work/impl/workers/ConstraintTrackingWorker.kt
https://android-review.googlesource.com/2115798
Branch: androidx-main
commit b1e1b4714f013edda06df4b0c92d18c28e5b958d
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Wed May 25 11:51:51 2022
Use WorkSpec in ConstraintsTracker
Going forward generation will be added to WorkSpec,
so it is important to know constraints for which
workspec exactly were met.
bug: 219446409
Test: Refactoring
Change-Id: I9beb5bc1a0345380daaf4fa2c1974eab213c9577
M work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/controllers/ConstraintControllerTest.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/foreground/SystemForegroundDispatcherTest.kt
M work/work-runtime/src/main/java/androidx/work/impl/foreground/SystemForegroundDispatcher.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/WorkConstraintsTrackerTest.kt
M work/work-runtime/src/main/java/androidx/work/impl/background/greedy/GreedyScheduler.java
M work/work-runtime/src/main/java/androidx/work/impl/constraints/WorkConstraintsCallback.kt
M work/work-runtime/src/main/java/androidx/work/impl/constraints/controllers/ConstraintController.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/greedy/GreedySchedulerTest.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/DelayMetCommandHandler.java
M work/work-runtime/src/main/java/androidx/work/impl/constraints/WorkConstraintsTracker.kt
M work/work-runtime/src/main/java/androidx/work/impl/workers/ConstraintTrackingWorker.kt
na...@google.com <na...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-main
commit a7d319b96a0622fcc9219ad4b156e4fafa215fa5
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Mon Jun 13 17:02:04 2022
Rename `WorkRunId` to `StartStopToken`
bug: 219446409
Test: refacting
Change-Id: I312ad14013d9931ec485fbccee27048ad697479c
M work/work-runtime/src/main/java/androidx/work/impl/utils/StopWorkRunnable.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcher.java
M work/work-runtime/src/main/java/androidx/work/impl/StartStopToken.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/foreground/SystemForegroundDispatcherTest.kt
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/CommandHandler.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/greedy/GreedySchedulerTest.java
M work/work-testing/src/main/java/androidx/work/testing/TestScheduler.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcherTest.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/ProcessorTest.java
M work/work-gcm/src/main/java/androidx/work/impl/background/gcm/WorkManagerGcmDispatcher.java
M work/work-runtime/src/main/java/androidx/work/impl/WorkManagerImpl.java
M work/work-runtime/src/main/java/androidx/work/impl/Processor.java
M work/work-runtime/src/main/java/androidx/work/impl/background/greedy/GreedyScheduler.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/ProcessorTests.kt
M work/work-runtime/src/main/java/androidx/work/impl/utils/StartWorkRunnable.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/DelayMetCommandHandler.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemjob/SystemJobService.java
https://android-review.googlesource.com/2123382
Branch: androidx-main
commit a7d319b96a0622fcc9219ad4b156e4fafa215fa5
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Mon Jun 13 17:02:04 2022
Rename `WorkRunId` to `StartStopToken`
bug: 219446409
Test: refacting
Change-Id: I312ad14013d9931ec485fbccee27048ad697479c
M work/work-runtime/src/main/java/androidx/work/impl/utils/StopWorkRunnable.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcher.java
M work/work-runtime/src/main/java/androidx/work/impl/StartStopToken.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/foreground/SystemForegroundDispatcherTest.kt
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/CommandHandler.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/greedy/GreedySchedulerTest.java
M work/work-testing/src/main/java/androidx/work/testing/TestScheduler.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcherTest.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/ProcessorTest.java
M work/work-gcm/src/main/java/androidx/work/impl/background/gcm/WorkManagerGcmDispatcher.java
M work/work-runtime/src/main/java/androidx/work/impl/WorkManagerImpl.java
M work/work-runtime/src/main/java/androidx/work/impl/Processor.java
M work/work-runtime/src/main/java/androidx/work/impl/background/greedy/GreedyScheduler.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/ProcessorTests.kt
M work/work-runtime/src/main/java/androidx/work/impl/utils/StartWorkRunnable.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemalarm/DelayMetCommandHandler.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemjob/SystemJobService.java
Description
Version used: 1.5.2
Devices/Android versions reproduced on: Android 11 phone, but actually I believe it does not matter
If this is a bug in the library, we would appreciate if you could attach:
see README in the project for details including how to reproduce the issue.
This behavior appeared in 1.5.2 library version. Version 1.4.* do not have such problem.