summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/DownloadIdleService.java
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2014-06-16 17:13:09 -0700
committerChristopher Tate <ctate@google.com>2014-06-16 17:28:42 -0700
commitbe3aa64469e8d1806250318808f79f41fb4c7cbd (patch)
tree477a9455b857b3578af8ec0bb2a31c746e4fed34 /src/com/android/providers/downloads/DownloadIdleService.java
parent261a12d452e20f2cbe028613d9741e7643a41653 (diff)
downloadandroid_packages_providers_DownloadProvider-be3aa64469e8d1806250318808f79f41fb4c7cbd.tar.gz
android_packages_providers_DownloadProvider-be3aa64469e8d1806250318808f79f41fb4c7cbd.tar.bz2
android_packages_providers_DownloadProvider-be3aa64469e8d1806250318808f79f41fb4c7cbd.zip
Transition the Download Service's cleanup work to a scheduled Job
...preparatory to finally removing the scratchpad "idle maintenance" infrastructure from the product. Bug 14993295 Change-Id: I1e84247de19e616910db1781b2c399a8b15a805c
Diffstat (limited to 'src/com/android/providers/downloads/DownloadIdleService.java')
-rw-r--r--src/com/android/providers/downloads/DownloadIdleService.java24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/com/android/providers/downloads/DownloadIdleService.java b/src/com/android/providers/downloads/DownloadIdleService.java
index 1bd30cb8..ddfeba41 100644
--- a/src/com/android/providers/downloads/DownloadIdleService.java
+++ b/src/com/android/providers/downloads/DownloadIdleService.java
@@ -20,7 +20,8 @@ import static com.android.providers.downloads.Constants.TAG;
import static com.android.providers.downloads.StorageUtils.listFilesRecursive;
import android.app.DownloadManager;
-import android.app.maintenance.IdleService;
+import android.app.job.JobParameters;
+import android.app.job.JobService;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.database.Cursor;
@@ -41,30 +42,37 @@ import java.util.ArrayList;
import java.util.HashSet;
/**
- * Idle maintenance service for {@link DownloadManager}. Reconciles database
+ * Idle-time service for {@link DownloadManager}. Reconciles database
* metadata and files on disk, which can become inconsistent when files are
* deleted directly on disk.
*/
-public class DownloadIdleService extends IdleService {
+public class DownloadIdleService extends JobService {
+
+ private class IdleRunnable implements Runnable {
+ private JobParameters mParams;
+
+ public IdleRunnable(JobParameters params) {
+ mParams = params;
+ }
- private final Runnable mIdleRunnable = new Runnable() {
@Override
public void run() {
cleanOrphans();
- finishIdle();
+ jobFinished(mParams, false);
}
};
@Override
- public boolean onIdleStart() {
- new Thread(mIdleRunnable).start();
+ public boolean onStartJob(JobParameters params) {
+ new Thread(new IdleRunnable(params)).start();
return true;
}
@Override
- public void onIdleStop() {
+ public boolean onStopJob(JobParameters params) {
// We're okay being killed at any point, so we don't worry about
// checkpointing before tearing down.
+ return false;
}
private interface DownloadQuery {