OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 } |
OLD | NEW |