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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploaderDelegate.java

Issue 2751333004: [Crash Reporting] Only upload Chrome crash reports over unmetered networks. (Closed)
Patch Set: This is the last self-review patch set, I swear! :-P Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 package org.chromium.chrome.browser.crash; 4 package org.chromium.chrome.browser.crash;
5 5
6 import android.annotation.TargetApi; 6 import android.annotation.TargetApi;
7 import android.content.Context; 7 import android.content.Context;
8 import android.net.ConnectivityManager; 8 import android.net.ConnectivityManager;
9 import android.net.NetworkInfo;
10 import android.os.Build; 9 import android.os.Build;
11 import android.os.PersistableBundle; 10 import android.os.PersistableBundle;
12 11
13 import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager ; 12 import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager ;
14 import org.chromium.components.minidump_uploader.MinidumpUploaderDelegate; 13 import org.chromium.components.minidump_uploader.MinidumpUploaderDelegate;
14 import org.chromium.components.minidump_uploader.util.CrashReportingNetworkPermi ssionManager;
15 import org.chromium.components.minidump_uploader.util.CrashReportingPermissionMa nager; 15 import org.chromium.components.minidump_uploader.util.CrashReportingPermissionMa nager;
16 16
17 import java.io.File; 17 import java.io.File;
18 18
19 /** 19 /**
20 * Chrome-specific implementations for minidump uploading logic. 20 * Chrome-specific implementations for minidump uploading logic.
21 */ 21 */
22 @TargetApi(Build.VERSION_CODES.M) 22 @TargetApi(Build.VERSION_CODES.M)
23 public class ChromeMinidumpUploaderDelegate implements MinidumpUploaderDelegate { 23 public class ChromeMinidumpUploaderDelegate implements MinidumpUploaderDelegate {
24 // PersistableBundle keys: 24 // PersistableBundle keys:
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 @Override 63 @Override
64 public CrashReportingPermissionManager createCrashReportingPermissionManager () { 64 public CrashReportingPermissionManager createCrashReportingPermissionManager () {
65 return new CrashReportingPermissionManager() { 65 return new CrashReportingPermissionManager() {
66 @Override 66 @Override
67 public boolean isClientInMetricsSample() { 67 public boolean isClientInMetricsSample() {
68 return mPermissions.getBoolean(IS_CLIENT_IN_METRICS_SAMPLE, true ); 68 return mPermissions.getBoolean(IS_CLIENT_IN_METRICS_SAMPLE, true );
69 } 69 }
70 70
71 @Override 71 @Override
72 public boolean isNetworkAvailableForCrashUploads() { 72 public boolean isNetworkAvailableForCrashUploads() {
73 // TODO(isherman): This code should really be shared with the An droid Webview 73 return CrashReportingNetworkPermissionManager.isNetworkUnmetered (
74 // implementation, which tests whether the connection is metered , rather than 74 mConnectivityManager);
75 // testing the type of the connection. Implement this change in M59 -- for M58, it's
76 // more important to maintain consistency with the previous impl ementation. When
77 // changing this, note that forced uploads do *not* require unme tered connections.
78 NetworkInfo networkInfo = mConnectivityManager.getActiveNetworkI nfo();
gsennton 2017/03/20 17:29:01 Huh, strange that this wasn't using PrivacyPrefere
Ilya Sherman 2017/03/20 23:11:21 Yeah, a confused ilya thought that it made more se
79 if (networkInfo == null || !networkInfo.isConnected()) return fa lse;
80 return networkInfo.getType() == ConnectivityManager.TYPE_WIFI
81 || networkInfo.getType() == ConnectivityManager.TYPE_ETH ERNET;
82 } 75 }
83 76
84 @Override 77 @Override
85 public boolean isCrashUploadDisabledByCommandLine() { 78 public boolean isCrashUploadDisabledByCommandLine() {
86 return mPermissions.getBoolean(IS_CRASH_UPLOAD_DISABLED_BY_COMMA ND_LINE, false); 79 return mPermissions.getBoolean(IS_CRASH_UPLOAD_DISABLED_BY_COMMA ND_LINE, false);
87 } 80 }
88 81
89 @Override 82 @Override
90 public boolean isMetricsUploadPermitted() { 83 public boolean isMetricsUploadPermitted() {
91 // This method is already represented by isClientInMetricsSample () and 84 // This method is already represented by isClientInMetricsSample () and
(...skipping 22 matching lines...) Expand all
114 @Override 107 @Override
115 public void recordUploadSuccess(File minidump) { 108 public void recordUploadSuccess(File minidump) {
116 MinidumpUploadService.incrementCrashSuccessUploadCount(minidump.getAbsol utePath()); 109 MinidumpUploadService.incrementCrashSuccessUploadCount(minidump.getAbsol utePath());
117 } 110 }
118 111
119 @Override 112 @Override
120 public void recordUploadFailure(File minidump) { 113 public void recordUploadFailure(File minidump) {
121 MinidumpUploadService.incrementCrashFailureUploadCount(minidump.getAbsol utePath()); 114 MinidumpUploadService.incrementCrashFailureUploadCount(minidump.getAbsol utePath());
122 } 115 }
123 } 116 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698