From c52f99fbf02b316e431cd8cebf9bb8a8f91e0efb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?= Date: Mon, 30 Jan 2017 20:45:13 +0100 Subject: [PATCH] Fixed AutoExports running even when they were disabled. --- .../playmusicexporter/services/ExportAllJob.java | 15 +++++++++++---- .../services/ExportAllService.java | 1 - 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllJob.java b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllJob.java index 9d2fd31..3efd06b 100644 --- a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllJob.java +++ b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllJob.java @@ -12,6 +12,7 @@ import re.jcg.playmusicexporter.settings.PlayMusicExporterPreferences; public class ExportAllJob extends JobService { public static final String TAG = "AutoGPME_ExportJob"; + public static final int AUTO_EXPORT_JOB_ID = 0; /** @@ -21,27 +22,33 @@ public class ExportAllJob extends JobService { */ public static void scheduleExport(final Context pContext) { PlayMusicExporterPreferences.init(pContext); + JobScheduler lJobScheduler = (JobScheduler) pContext.getSystemService(JOB_SCHEDULER_SERVICE); if (PlayMusicExporterPreferences.getAutoExportEnabled()) { long lInterval = PlayMusicExporterPreferences.getAutoExportFrequency(); boolean lRequireUnmeteredNetwork = PlayMusicExporterPreferences.getAutoExportRequireUnmetered(); boolean lRequireCharging = PlayMusicExporterPreferences.getAutoExportRequireCharging(); - - JobScheduler lJobScheduler = (JobScheduler) pContext.getSystemService(JOB_SCHEDULER_SERVICE); ComponentName lComponentName = new ComponentName(pContext, ExportAllJob.class); - JobInfo.Builder lBuilder = new JobInfo.Builder(42, lComponentName); + JobInfo.Builder lBuilder = new JobInfo.Builder(AUTO_EXPORT_JOB_ID, lComponentName); lBuilder.setPeriodic(lInterval); lBuilder.setPersisted(true); if (lRequireUnmeteredNetwork) lBuilder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED); lBuilder.setRequiresCharging(lRequireCharging); lJobScheduler.schedule(lBuilder.build()); + } else { + lJobScheduler.cancel(AUTO_EXPORT_JOB_ID); } } @Override public boolean onStartJob(JobParameters params) { + PlayMusicExporterPreferences.init(this.getApplicationContext()); Log.i(TAG, "Started Job: " + params.toString()); - ExportAllService.startExport(this); + if (PlayMusicExporterPreferences.getAutoExportEnabled()) { + ExportAllService.startExport(this); + } else { + scheduleExport(getApplicationContext()); + } return true; } diff --git a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllService.java b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllService.java index 5175ecb..37b1371 100644 --- a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllService.java +++ b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllService.java @@ -5,7 +5,6 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.PowerManager; -import android.support.v4.provider.DocumentFile; import android.util.Log; import java.util.List;