In order to make code consistent across all components scheduling in the background, please migrate the DownloadResumptionScheduler to BackgroundTaskScheduler. Good examples are already available in offline pages and prefetch. Bonus points: DownloadResumptionScheduler will also work on O after doing so. Code in question: https://cs.chromium.org/chromium/src/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadResumptionScheduler.java
Issue 754516 has been merged into this issue.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/88e4d5f0da7234775933a28336f403c5d7306809 commit 88e4d5f0da7234775933a28336f403c5d7306809 Author: David Trainor <dtrainor@chromium.org> Date: Tue Nov 07 17:46:02 2017 Port download resumption to BackgroundTaskScheduler Move the DownloadResumptionScheduler to use BackgroundTaskScheduler instead of GCM. This maintains the same behavior as the old mechanism, but just relies on BackgroundTaskScheduler to handle the job scheduling and execution. This also moves the scheduling decision from DownloadNotificationService to DownloadResumptionScheduler (to be moved to a final location after jming@'s refactor) so that rescheduling after OS upgrade is still possible. BUG=766847 Change-Id: If2b703adaa40550a780063d7fd60f6becdde53fe Reviewed-on: https://chromium-review.googlesource.com/611413 Commit-Queue: David Trainor <dtrainor@chromium.org> Reviewed-by: Tommy Nyquist <nyquist@chromium.org> Cr-Commit-Position: refs/heads/master@{#514502} [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadBroadcastManager.java [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadForegroundService.java [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService2.java [add] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadResumptionBackgroundTask.java [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadResumptionScheduler.java [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/chrome/android/java_sources.gni [rename] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadNotificationService2Test.java [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadNotificationServiceTest.java [add] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/chrome/android/junit/src/org/chromium/chrome/browser/download/DownloadResumptionSchedulerTest.java [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerUma.java [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/TaskIds.java [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerUmaTest.java [modify] https://crrev.com/88e4d5f0da7234775933a28336f403c5d7306809/tools/metrics/histograms/enums.xml
Comment 1 by fgor...@chromium.org
, Sep 19 2017