Index: android_webview/java/src/org/chromium/android_webview/crash/CrashReceiverService.java |
diff --git a/android_webview/java/src/org/chromium/android_webview/crash/CrashReceiverService.java b/android_webview/java/src/org/chromium/android_webview/crash/CrashReceiverService.java |
index 42525e0cc248a4430e8540e5896d64562f689236..dad87982592a55aaa59cfd79152eea9566e6c322 100644 |
--- a/android_webview/java/src/org/chromium/android_webview/crash/CrashReceiverService.java |
+++ b/android_webview/java/src/org/chromium/android_webview/crash/CrashReceiverService.java |
@@ -7,8 +7,6 @@ package org.chromium.android_webview.crash; |
import android.annotation.TargetApi; |
import android.app.Service; |
import android.app.job.JobInfo; |
-import android.app.job.JobScheduler; |
-import android.content.ComponentName; |
import android.content.Context; |
import android.content.Intent; |
import android.os.Binder; |
@@ -19,6 +17,7 @@ import android.os.ParcelFileDescriptor; |
import org.chromium.base.Log; |
import org.chromium.base.VisibleForTesting; |
import org.chromium.components.minidump_uploader.CrashFileManager; |
+import org.chromium.components.minidump_uploader.MinidumpUploadJobService; |
import java.io.File; |
import java.io.IOException; |
@@ -33,12 +32,11 @@ public class CrashReceiverService extends Service { |
private static final String WEBVIEW_CRASH_DIR = "WebView_Crashes"; |
private static final String WEBVIEW_TMP_CRASH_DIR = "WebView_Crashes_Tmp"; |
+ /** |
+ * The job id for uploading minidumps. For more info on this constant, see |
+ * https://developer.android.com/reference/android/app/job/JobInfo.Builder.html#JobInfo.Builder(int,%20android.content.ComponentName) |
+ */ |
gsennton
2017/03/14 18:17:28
Maybe add a comment about this having to be differ
Ilya Sherman
2017/03/15 02:13:34
Acknowledged.
|
private static final int MINIDUMP_UPLOADING_JOB_ID = 42; |
- // Initial back-off time for upload-job, this is set to a fairly high number (30 minutes) to |
- // increase the chance of performing uploads in batches if the initial upload fails. |
- private static final int JOB_BACKOFF_TIME_IN_MS = 1000 * 60 * 30; |
- // Back-off policy for upload-job. |
- private static final int JOB_BACKOFF_POLICY = JobInfo.BACKOFF_POLICY_EXPONENTIAL; |
private Object mCopyingLock = new Object(); |
private boolean mIsCopying = false; |
@@ -105,20 +103,12 @@ public class CrashReceiverService extends Service { |
} |
private void scheduleNewJob() { |
- JobScheduler jobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE); |
- JobInfo newJob = new JobInfo |
- .Builder(MINIDUMP_UPLOADING_JOB_ID /* jobId */, |
- new ComponentName(this, AwMinidumpUploadJobService.class)) |
- .setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED) |
- // Minimum delay when a job is retried (a retry will happen when |
- // there are minidumps left after trying to upload all minidumps - |
- // this could e.g. happen if we add more minidumps at the same time |
- // as uploading old ones). |
- .setBackoffCriteria(JOB_BACKOFF_TIME_IN_MS, JOB_BACKOFF_POLICY) |
- .build(); |
- if (jobScheduler.schedule(newJob) == JobScheduler.RESULT_FAILURE) { |
- throw new RuntimeException("couldn't schedule " + newJob); |
- } |
+ JobInfo.Builder builder = |
+ new JobInfo |
+ .Builder(MINIDUMP_UPLOADING_JOB_ID, |
+ new ComponentName(this, AwMinidumpUploadJobService.class)) |
+ .setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED); |
+ MinidumpUploadJobService.scheduleUpload(this, builder); |
} |
/** |