Chromium Code Reviews| 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 |