e326592ec414dfe4c002e2840d9fc4aef0ee8747 |
|
08-Jun-2018 |
Rahul Ravikumar <rahulrav@google.com> |
Make the scheduler limit configurable. - on API 23, use half the scheduler limit to take into account of double scheduling. Test: Unit tests pass on both scheduler implementations. Change-Id: Ie7ba6e056d9e8911261599ed1fbb1dddf6af99fb
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
b24ef38a0b526b524e3e6a7849f62f934a6ad58c |
|
01-Jun-2018 |
Sumir Kataria <sumir@google.com> |
Expose current run attempt count in Worker. Developers can use this to implement their own max retry count behavior. (We don't want to provide that as a WorkRequest.Builder API because it's not clear what state work that has exceeded its max retry count should be in. Should it be CANCELLED? FAILED? Something new? It's better to let the developer deal with this themselves.) Change-Id: Ifc22207f71a8880fb725c0cec80281bceff1af44 Fixes: 79716516 Test: Added and ran tests
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
11a7c26af63674a21787696e509e9a43d0bd7acf |
|
01-Jun-2018 |
Sumir Kataria <sumir@google.com> |
Rename Worker#WorkerResult -> Worker#Result. Change-Id: Icbe7b588a933412b277e8ee8902b86254d701a61 Fixes: 80217775 Test: Ran tests.
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
5d373d376edddb57cd822dd06ed54f97ef949586 |
|
31-May-2018 |
Sumir Kataria <sumir@google.com> |
Breaking change: Tell Worker if it's been cancelled. Currently, Worker#onStopped doesn't know if it's been cancelled or merely pre-empted by the system. b/79632247 points out some reasons why an explicit signal for cancellation may be useful. #onStopped now gets a boolean argument indicating if the Worker has been cancelled and will never run again. A new method, Worker#isCancelled, is also provided. Change-Id: I19424fe718c95e2fd374f40b0afc8a79194c6100 Fixes: 79632247 Test: Added and ran tests.
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
dd5f33cd6b98eba208ac7c69d3d6314d3115e2d2 |
|
24-May-2018 |
Sumir Kataria <sumir@google.com> |
Breaking change: Worker.getId now returns a UUID. This was an artifact of the old API that never got fixed. Also added Javadoc. Test: Reran tests. Change-Id: I9173ab1e58c5262f4767a426f53f388faadaf1a4
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
bf4f4f72fd27f110b95cc9867fb5dc695d2689b1 |
|
22-May-2018 |
Sumir Kataria <sumir@google.com> |
Add Worker interruption-related methods. - Worker#isStopped indicates if the Worker is currently considered interrupted and should stop its processing. - Worker#onStopped is called upon interruption for lightweight cleanup operations. Change-Id: Idb656029f6594fe6b9953571113c972f39e43cd6 Fixes: 79632247 Test: Added and a ran testInterruption_isMarkedOnRunningWorker
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
7b5c560e4098585f73564951621060de708e441f |
|
22-May-2018 |
Sumir Kataria <sumir@google.com> |
Expose tags in Worker. Plumb tags all the way through. Change the signature of internalInit so it takes one data-holding parameter (Extras, which now contains input Data, tags, and RuntimeExtras). This way, we don't need to change the internalInit signature. This means we won't need dagger updates. Change-Id: I4deff0dda7518d8c253b899922eee647cccef756 Fixes: 79631815 Test: Added and ran tests.
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
d874811ee5f3275e6022115a03aa6001dc1830a9 |
|
11-May-2018 |
Sumir Kataria <sumir@google.com> |
Handle WorkSpec deletion in WorkerWrapper. Change-Id: I85a1bd4b5c75ba778851408a30c690144997570a Fixes: 79550068 Test: Added testWorkerWrapper_handlesWorkSpecDeletion
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
3f0c0fbaf4be127488fc900d915d1c966813a4e6 |
|
08-May-2018 |
Sumir Kataria <sumir@google.com> |
Treat exceptions and errors in Worker#doWork as failures. Change-Id: Iea7712c1916084894f89334e0ec808c2f6910406 Fixes: 79374987 Test: Added and ran tests.
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
d5121becc52eb1783594c1e88a834ef526fa6d7e |
|
04-May-2018 |
Sumir Kataria <sumir@google.com> |
Merge "Revert "Change `CANCELLED` to `CANCELED`."" into pi-preview1-androidx-dev
|
5b84f5ce59c65703ce6d5cdb1133185cd93e1862 |
|
04-May-2018 |
Sumir Kataria <sumir@google.com> |
Revert "Change `CANCELLED` to `CANCELED`." This reverts commit 8586b66cab89a0bef12fd5e5d097a6d0e31fb9e7. Reason for revert: Matching AsyncTask.isCancelled and other async cancellations. Change-Id: Ib95ccf193e5b4de87e4615595282fb24b52c8fd4
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
7c6d9ea93d3677b1fbe15bca3e8ee16dbd4797ce |
|
04-May-2018 |
android-build-team Robot <android-build-team-robot@google.com> |
Merge "Change `CANCELLED` to `CANCELED`." into pi-preview1-androidx-dev
|
8586b66cab89a0bef12fd5e5d097a6d0e31fb9e7 |
|
04-May-2018 |
Rahul Ravikumar <rahulrav@google.com> |
Change `CANCELLED` to `CANCELED`. Test: Unit tests pass. Change-Id: I908c8e2c253ccee894e7c41cb9df7e6b6eca03e3
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
1b87cb6abe29d752f0594bf5afe96fcd8f4e9ae2 |
|
04-May-2018 |
Rahul Ravikumar <rahulrav@google.com> |
Check for `null` states in WorkerWrapper#run(). - When using `beginUniqueWork()` with a `REPLACE` its possible, that a call to `WorkSpecDao#getState()` can return `null`. Test: Unit tests pass. Change-Id: I427af1cbcf1a37c3ea8e699ff16b6cf614a0fb67
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
b0a0d7b4910f8733c04bc9dd98ec05da7247bdce |
|
17-Apr-2018 |
Sumir Kataria <sumir@google.com> |
Add WorkerWrapper interruption; remove usage of Futures. This is part 1 of removing ExecutorService and using Executor instead. Here we add an explicit interrupt() method to WorkerWrapper and check it when deciding if the work finished successfully. Also cleaned up a broken state where ALL non-cancelled states could lead to handleResult being called. Removed blocking cancellation in WorkManagerImplTests due to thread contention issues because of synchronous execution rules. Removed Worker.isInterrupted. Need to come up with a suitable alternative. Removed Processor.stopWork's second argument (may interrupt thread) because it's not relevant anymore. Test: Added and ran tests. Change-Id: I28de5081e8d30c3d9147b1d74008ab931963fa81
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
c0cdcc4dd56871adda73862153063f49925fbc04 |
|
17-Apr-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Use the standard Android (android.util.Log) logger." into flatfoot-background
|
697d6a4a3797bc71d0dd8685937a318e9934066b |
|
17-Apr-2018 |
Rahul Ravikumar <rahulrav@google.com> |
Use the standard Android (android.util.Log) logger. - Rename Logger to InternalLogger so we can start adding internal only logs. - Remove redundant logs in AlarmManager based implementation. Test: Existing tests pass. Change-Id: I44babc42dafbce0311f439ffaca6bf40fc058be0
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
b9701e2752b53221501cfaeb247256f1ae12baec |
|
17-Apr-2018 |
Sumir Kataria <sumir@google.com> |
Add nullability annotations to Worker. Set output to Data.EMPTY by default and made it mandatory to be @NonNull to match input. Test: Ran tests. Change-Id: Iacd38c755200cf018a212c2616861454418e270d
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
dcbf20db18e3e93a13e9fa75fa4b723255b87c54 |
|
16-Apr-2018 |
Sumir Kataria <sumir@google.com> |
Change WW.setRunning to check the current state. Since we don't want to do input merging in the middle of a transaction, we need to verify we are still enqueued before starting the work and setting the state to running. Test: Updated tests. Change-Id: I9c4dc8d8ba41098ae68bdc7de267d3bf811894a6
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
64e6bd86c786f1cb1b0c3dbc2b5307cca5c0d1f6 |
|
29-Mar-2018 |
Sumir Kataria <sumir@google.com> |
Rename Arguments to Data. - Rename setOutput to setOutputData - Rename BaseWork.Builder.withArguments to withInputData. Change-Id: Idf490663c9639b9a90d0327d7f164534b0a0b2a4 Fixes: 76438322 Test: Updated and ran tests.
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
1c59c3abb41961321d514539195c3935dd45918d |
|
22-Mar-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Keep track of the number of scheduled workers." into flatfoot-background
|
9f91ee8c71606f36a51177cd0b5c3005834be1ff |
|
21-Mar-2018 |
Rahul Ravikumar <rahulrav@google.com> |
Keep track of the number of scheduled workers. - Scheduling of workers (via the Scheduler) should honor the Scheduler#MAX_SCHEDULER_LIMIT. - If we exceed the MAX_SCHEDULER_LIMIT, schedule_requested_at remains at -1. - WorkerWrapper on succeeding or failing should try and schedule workers which were pending execution previously. - Cancelling of work via Scheduler#cancel() should try and schedule work that was pending to be scheduled. - Force stops should reset the scheduling bits, and try and reschedule everything while honoring the MAX_SCHEDULER_LIMIT. Test: Added unit tests, and existing tests pass. Fixes: b/73730203 Change-Id: Icc30045ea058a9f27ca07297771d9062fca8beec
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
681a8d809fe41189c9d590d33b986b98170e4963 |
|
21-Mar-2018 |
Sumir Kataria <sumir@google.com> |
Create RuntimeExtras. Put content uri info in it. RuntimeExtras contains information that is not cacheable and is only available when we decide to run a job. In this case, the class contains triggered content URI information; in the future, the triggered Network info will also be available here. RuntimeExtras is piped all the way to the Worker. Change-Id: I24b73da267d16f661a138b4aa652f34bdb9cedf5 Fixes: 71909029 Test: Added and ran tests.
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
b5728f4e1a4b3f4f1fabf033b1363ca6b1cffdef |
|
19-Mar-2018 |
Sumir Kataria <sumir@google.com> |
Remove WorkSpec getters/setters. The war on method count continues. Test: Updated and ran tests. Change-Id: Idaf80b08e415beab107c3f564d02b846a987008a
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
d64a1a65bd138cfeeb9ae6a595120b85e77a57f6 |
|
07-Mar-2018 |
Rahul Ravikumar <rahulrav@google.com> |
Add support requiresStorageNotLow() and requiresBatteryNotLow() in API 23-25. - API 23-25, JobScheduler does not support these constraints. So we delegate the work to a ConstraintTrackingWorker, which uses WorkConstraintTracker to delegate to the real worker. Test: Added unit tests. Fixes: b/73786136 Change-Id: I47a21b790b0b9943963df780bdc888b7fc89d54b
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
c1ba633e4668bbf02097a76261ebcee8f3b59e06 |
|
07-Mar-2018 |
Sumir Kataria <sumir@google.com> |
Recursively fail dependents on work failure. Work failures should trickle downstream just like cancellations. This is also going to be needed in an upcoming CL where we will add a minimum time to retain. Since this CL removes the need for explicit checking of dangling blocked work when starting WorkDatabase, we will be able to change the prune code to be: prune if timeToRetain < now && (cancelled|failed|succeeded) && dependents.size() == 0 Test: Updated and ran tests. Change-Id: I630898e906ac3aa3c601124ba7a816619ddbe573
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
5611e083e6e2713f155fbdea091c1fa13c479b5c |
|
20-Feb-2018 |
Sumir Kataria <sumir@google.com> |
Schedule dependent work after endTransaction. Previously was being set after setTransactionSuccessful. :-/ Test: found this in the integration app; need to make some tests for this. Ran the integration test app (Sherlock Holmes) to verify. Change-Id: I131a6dfaf9c01282f9c906f1335d95999c77d016
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|
188b6fb0e5da3723f28c23289b5b55086210e82c |
|
16-Feb-2018 |
Sumir Kataria <sumir@google.com> |
Rename directories and references from background -> work. Test: Ran tests. Change-Id: Ibde6b2f3c7ecbc2490d4225418a1e24119e4a72a
/frameworks/support/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
|