Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2775)

Unified Diff: android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploadJobService.java

Issue 2709403003: [Android Crash Reporting] Componentize MinidumpUploadJobService.java (Closed)
Patch Set: Init ContextUtils from Webview implemenation only Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploadJobService.java
diff --git a/android_webview/java/src/org/chromium/android_webview/crash/MinidumpUploadJobService.java b/android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploadJobService.java
similarity index 40%
copy from android_webview/java/src/org/chromium/android_webview/crash/MinidumpUploadJobService.java
copy to android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploadJobService.java
index 82a684b2262c876cca43372d58d41202987fcce3..fe72a3680f9d4b0b371a7cd57291b447180a28ff 100644
--- a/android_webview/java/src/org/chromium/android_webview/crash/MinidumpUploadJobService.java
+++ b/android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploadJobService.java
@@ -4,12 +4,11 @@
package org.chromium.android_webview.crash;
import android.annotation.TargetApi;
-import android.app.job.JobParameters;
-import android.app.job.JobService;
import android.os.Build;
import org.chromium.android_webview.command_line.CommandLineUtil;
import org.chromium.base.ContextUtils;
+import org.chromium.components.minidump_uploader.MinidumpUploadJobService;
import org.chromium.components.minidump_uploader.MinidumpUploader;
/**
@@ -17,11 +16,7 @@ import org.chromium.components.minidump_uploader.MinidumpUploader;
*/
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
// OBS: This class needs to be public to be started from android.app.ActivityThread.
-public class MinidumpUploadJobService extends JobService {
- Object mRunningLock = new Object();
- boolean mRunningJob = false;
- MinidumpUploader mMinidumpUploader;
-
+public class AwMinidumpUploadJobService extends MinidumpUploadJobService {
@Override
public void onCreate() {
super.onCreate();
@@ -32,45 +27,10 @@ public class MinidumpUploadJobService extends JobService {
}
@Override
- public boolean onStartJob(JobParameters params) {
- // Ensure we can use ContextUtils later on (from minidump_uploader component).
+ protected MinidumpUploader createMinidumpUploader() {
+ // Ensure we can use ContextUtils later on (from the minidump_uploader component).
ContextUtils.initApplicationContext(this.getApplicationContext());
- // Ensure we only run one job at a time.
- synchronized (mRunningLock) {
- assert !mRunningJob;
- mRunningJob = true;
- }
- mMinidumpUploader = new MinidumpUploaderImpl(this, true /* cleanOutMinidumps */);
- mMinidumpUploader.uploadAllMinidumps(createJobFinishedCallback(params));
- return true; // true = processing work on a separate thread, false = done already.
- }
-
- @Override
- public boolean onStopJob(JobParameters params) {
- boolean reschedule = mMinidumpUploader.cancelUploads();
- synchronized (mRunningLock) {
- mRunningJob = false;
- }
- return reschedule;
- }
-
- private MinidumpUploader.UploadsFinishedCallback createJobFinishedCallback(
- final JobParameters params) {
- return new MinidumpUploader.UploadsFinishedCallback() {
- @Override
- public void uploadsFinished(boolean reschedule) {
- synchronized (mRunningLock) {
- mRunningJob = false;
- }
- MinidumpUploadJobService.this.jobFinished(params, reschedule);
- }
- };
- }
-
- @Override
- public void onDestroy() {
- mMinidumpUploader = null;
- super.onDestroy();
+ return new MinidumpUploaderImpl(this, true /* cleanOutMinidumps */);
}
}

Powered by Google App Engine
This is Rietveld 408576698