OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.crash; | 5 package org.chromium.chrome.browser.crash; |
6 | 6 |
7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
8 import android.app.IntentService; | 8 import android.app.IntentService; |
9 import android.app.job.JobInfo; | 9 import android.app.job.JobInfo; |
10 import android.content.ComponentName; | 10 import android.content.ComponentName; |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 * Schedules uploading of all pending minidumps, using the JobScheduler API. | 91 * Schedules uploading of all pending minidumps, using the JobScheduler API. |
92 */ | 92 */ |
93 @SuppressLint("NewApi") | 93 @SuppressLint("NewApi") |
94 public static void scheduleUploadJob(Context context) { | 94 public static void scheduleUploadJob(Context context) { |
95 assert shouldUseJobSchedulerForUploads(); | 95 assert shouldUseJobSchedulerForUploads(); |
96 | 96 |
97 CrashReportingPermissionManager permissionManager = PrivacyPreferencesMa
nager.getInstance(); | 97 CrashReportingPermissionManager permissionManager = PrivacyPreferencesMa
nager.getInstance(); |
98 PersistableBundle permissions = new PersistableBundle(); | 98 PersistableBundle permissions = new PersistableBundle(); |
99 permissions.putBoolean(ChromeMinidumpUploaderDelegate.IS_CLIENT_IN_METRI
CS_SAMPLE, | 99 permissions.putBoolean(ChromeMinidumpUploaderDelegate.IS_CLIENT_IN_METRI
CS_SAMPLE, |
100 permissionManager.isClientInMetricsSample()); | 100 permissionManager.isClientInMetricsSample()); |
101 permissions.putBoolean( | |
102 ChromeMinidumpUploaderDelegate.IS_CRASH_UPLOAD_DISABLED_BY_COMMA
ND_LINE, | |
103 permissionManager.isCrashUploadDisabledByCommandLine()); | |
104 permissions.putBoolean(ChromeMinidumpUploaderDelegate.IS_UPLOAD_ENABLED_
FOR_TESTS, | 101 permissions.putBoolean(ChromeMinidumpUploaderDelegate.IS_UPLOAD_ENABLED_
FOR_TESTS, |
105 permissionManager.isUploadEnabledForTests()); | 102 permissionManager.isUploadEnabledForTests()); |
106 | 103 |
107 JobInfo.Builder builder = | 104 JobInfo.Builder builder = |
108 new JobInfo | 105 new JobInfo |
109 .Builder(TaskIds.CHROME_MINIDUMP_UPLOADING_JOB_ID, | 106 .Builder(TaskIds.CHROME_MINIDUMP_UPLOADING_JOB_ID, |
110 new ComponentName(context, ChromeMinidumpUploadJ
obService.class)) | 107 new ComponentName(context, ChromeMinidumpUploadJ
obService.class)) |
111 .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY) | 108 .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY) |
112 .setExtras(permissions); | 109 .setExtras(permissions); |
113 MinidumpUploadJobService.scheduleUpload(context, builder); | 110 MinidumpUploadJobService.scheduleUpload(context, builder); |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
364 return; | 361 return; |
365 } | 362 } |
366 | 363 |
367 if (shouldUseJobSchedulerForUploads()) { | 364 if (shouldUseJobSchedulerForUploads()) { |
368 scheduleUploadJob(context); | 365 scheduleUploadJob(context); |
369 } else { | 366 } else { |
370 tryUploadCrashDump(context, renamedMinidumpFile); | 367 tryUploadCrashDump(context, renamedMinidumpFile); |
371 } | 368 } |
372 } | 369 } |
373 } | 370 } |
OLD | NEW |