summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/DownloadIdleService.java
diff options
context:
space:
mode:
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 {