Commit caf8c0d9 authored by Clark DuVall's avatar Clark DuVall Committed by Commit Bot

Convert ChromeMinidumpUploadJobService to split compat

Review from Patchset 1 to get the right diffs on the changes in
ChromeMinidumpUploadJobServiceImpl.

Bug: 1126301
Change-Id: Id583822c3bfddba0bf594b6a0eb2805a8d788819
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2461983
Commit-Queue: Clark DuVall <cduvall@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#815260}
parent 45c931e5
......@@ -2075,10 +2075,12 @@ android_library("base_module_java") {
"java/src/org/chromium/chrome/browser/base/SplitCompatGcmTaskService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatRemoteViewsService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatUtils.java",
"java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetService.java",
"java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploadJobService.java",
"java/src/org/chromium/chrome/browser/crash/MinidumpUploadService.java",
"java/src/org/chromium/chrome/browser/download/DownloadBroadcastManager.java",
"java/src/org/chromium/chrome/browser/download/DownloadForegroundService.java",
......@@ -2101,6 +2103,7 @@ android_library("base_module_java") {
"$google_play_services_package:google_play_services_gcm_java",
"//base:base_java",
"//components/embedder_support/android:application_java",
"//components/minidump_uploader:minidump_uploader_java",
"//components/module_installer/android:module_installer_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
"//ui/android:ui_no_recycler_view_java",
......
......@@ -412,7 +412,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/contextualsearch/TapWordEdgeSuppression.java",
"java/src/org/chromium/chrome/browser/contextualsearch/TapWordLengthSuppression.java",
"java/src/org/chromium/chrome/browser/crash/ApplicationStatusTracker.java",
"java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploadJobService.java",
"java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploadJobServiceImpl.java",
"java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploaderDelegate.java",
"java/src/org/chromium/chrome/browser/crash/CrashUploadCountStore.java",
"java/src/org/chromium/chrome/browser/crash/FirebaseConfig.java",
......
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.base;
import android.content.Context;
import android.os.PersistableBundle;
import org.chromium.components.minidump_uploader.MinidumpUploadJob;
import org.chromium.components.minidump_uploader.MinidumpUploadJobService;
/**
* MinidumpUploadJobService base class which will call through to the given {@link Impl}. This class
* must be present in the base module, while the Impl can be in the chrome module.
*/
public class SplitCompatMinidumpUploadJobService extends MinidumpUploadJobService {
private String mServiceClassName;
private Impl mImpl;
public SplitCompatMinidumpUploadJobService(String serviceClassName) {
mServiceClassName = serviceClassName;
}
@Override
protected void attachBaseContext(Context context) {
context = SplitCompatUtils.createChromeContext(context);
mImpl = (Impl) SplitCompatUtils.newInstance(context, mServiceClassName);
mImpl.setService(this);
super.attachBaseContext(context);
}
@Override
protected MinidumpUploadJob createMinidumpUploadJob(PersistableBundle permissions) {
return mImpl.createMinidumpUploadJob(permissions);
}
/**
* Holds the implementation of service logic. Will be called by {@link
* SplitCompatMinidumpUploadJobService}.
*/
public abstract static class Impl {
private SplitCompatMinidumpUploadJobService mService;
protected final void setService(SplitCompatMinidumpUploadJobService service) {
mService = service;
}
protected final MinidumpUploadJobService getService() {
return mService;
}
protected abstract MinidumpUploadJob createMinidumpUploadJob(PersistableBundle extras);
}
}
// Copyright 2017 The Chromium Authors. All rights reserved.
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.crash;
import android.annotation.TargetApi;
import android.os.Build;
import android.os.PersistableBundle;
package org.chromium.chrome.browser.crash;
import org.chromium.components.minidump_uploader.MinidumpUploadJob;
import org.chromium.components.minidump_uploader.MinidumpUploadJobImpl;
import org.chromium.components.minidump_uploader.MinidumpUploadJobService;
import org.chromium.chrome.browser.base.SplitCompatMinidumpUploadJobService;
import org.chromium.chrome.browser.base.SplitCompatUtils;
/**
* Class that interacts with the Android JobScheduler to upload minidumps at appropriate times.
*/
@TargetApi(Build.VERSION_CODES.M)
public class ChromeMinidumpUploadJobService extends MinidumpUploadJobService {
@Override
protected MinidumpUploadJob createMinidumpUploadJob(PersistableBundle permissions) {
return new MinidumpUploadJobImpl(new ChromeMinidumpUploaderDelegate(this, permissions));
/** See {@link ChromeMinidumpUploadJobServiceImpl}. */
public class ChromeMinidumpUploadJobService extends SplitCompatMinidumpUploadJobService {
public ChromeMinidumpUploadJobService() {
super(SplitCompatUtils.getIdentifierName(
"org.chromium.chrome.browser.crash.ChromeMinidumpUploadJobServiceImpl"));
}
}
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.crash;
import android.annotation.TargetApi;
import android.os.Build;
import android.os.PersistableBundle;
import org.chromium.components.minidump_uploader.MinidumpUploadJob;
import org.chromium.components.minidump_uploader.MinidumpUploadJobImpl;
/**
* Class that interacts with the Android JobScheduler to upload minidumps at appropriate times.
*/
@TargetApi(Build.VERSION_CODES.M)
public class ChromeMinidumpUploadJobServiceImpl extends ChromeMinidumpUploadJobService.Impl {
@Override
protected MinidumpUploadJob createMinidumpUploadJob(PersistableBundle permissions) {
return new MinidumpUploadJobImpl(
new ChromeMinidumpUploaderDelegate(getService(), permissions));
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment