| 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.metrics; | 5 package org.chromium.chrome.browser.metrics; |
| 6 | 6 |
| 7 import android.app.Activity; | |
| 8 import android.content.ComponentCallbacks; | 7 import android.content.ComponentCallbacks; |
| 9 import android.content.Context; | 8 import android.content.Context; |
| 10 import android.content.res.Configuration; | 9 import android.content.res.Configuration; |
| 11 import android.text.TextUtils; | 10 import android.text.TextUtils; |
| 12 | 11 |
| 13 import org.chromium.base.ActivityState; | |
| 14 import org.chromium.base.ApplicationStatus; | |
| 15 import org.chromium.chrome.browser.preferences.PrefServiceBridge; | 12 import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
| 16 import org.chromium.chrome.browser.preferences.privacy.CrashReportingPermissionM
anager; | 13 import org.chromium.chrome.browser.preferences.privacy.CrashReportingPermissionM
anager; |
| 17 import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager
; | 14 import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager
; |
| 18 import org.chromium.chrome.browser.tab.Tab; | 15 import org.chromium.chrome.browser.tab.Tab; |
| 19 import org.chromium.chrome.browser.tabmodel.TabModel; | 16 import org.chromium.chrome.browser.tabmodel.TabModel; |
| 20 import org.chromium.chrome.browser.tabmodel.TabModelSelector; | 17 import org.chromium.chrome.browser.tabmodel.TabModelSelector; |
| 21 import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver; | 18 import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver; |
| 22 import org.chromium.components.variations.VariationsAssociatedData; | 19 import org.chromium.components.variations.VariationsAssociatedData; |
| 23 import org.chromium.content_public.browser.WebContents; | 20 import org.chromium.content_public.browser.WebContents; |
| 24 import org.chromium.net.NetworkChangeNotifier; | 21 import org.chromium.net.NetworkChangeNotifier; |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 if (mTabModelSelector != null) { | 136 if (mTabModelSelector != null) { |
| 140 mContext.unregisterComponentCallbacks(mComponentCallbacks); | 137 mContext.unregisterComponentCallbacks(mComponentCallbacks); |
| 141 mTabModelSelectorTabObserver.destroy(); | 138 mTabModelSelectorTabObserver.destroy(); |
| 142 mTabModelSelector = null; | 139 mTabModelSelector = null; |
| 143 } | 140 } |
| 144 | 141 |
| 145 nativeUmaEndSession(sNativeUmaSessionStats); | 142 nativeUmaEndSession(sNativeUmaSessionStats); |
| 146 NetworkChangeNotifier.removeConnectionTypeObserver(this); | 143 NetworkChangeNotifier.removeConnectionTypeObserver(this); |
| 147 } | 144 } |
| 148 | 145 |
| 149 public static void logRendererCrash(Activity activity) { | 146 public static void logRendererCrash() { |
| 150 int activityState = ApplicationStatus.getStateForActivity(activity); | 147 nativeLogRendererCrash(); |
| 151 nativeLogRendererCrash( | |
| 152 activityState == ActivityState.PAUSED | |
| 153 || activityState == ActivityState.STOPPED | |
| 154 || activityState == ActivityState.DESTROYED); | |
| 155 } | 148 } |
| 156 | 149 |
| 157 /** | 150 /** |
| 158 * Updates the state of the MetricsService to account for the user's prefere
nces. | 151 * Updates the state of the MetricsService to account for the user's prefere
nces. |
| 159 */ | 152 */ |
| 160 public void updateMetricsServiceState() { | 153 public void updateMetricsServiceState() { |
| 161 boolean mayRecordStats = !PrivacyPreferencesManager.getInstance(mContext
) | 154 boolean mayRecordStats = !PrivacyPreferencesManager.getInstance(mContext
) |
| 162 .isNeverUploadCrashDump(); | 155 .isNeverUploadCrashDump(); |
| 163 boolean mayUploadStats = mReportingPermissionManager.isUploadPermitted()
; | 156 boolean mayUploadStats = mReportingPermissionManager.isUploadPermitted()
; |
| 164 | 157 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 } | 195 } |
| 203 | 196 |
| 204 public static void registerSyntheticFieldTrial(String trialName, String grou
pName) { | 197 public static void registerSyntheticFieldTrial(String trialName, String grou
pName) { |
| 205 nativeRegisterSyntheticFieldTrial(trialName, groupName); | 198 nativeRegisterSyntheticFieldTrial(trialName, groupName); |
| 206 } | 199 } |
| 207 | 200 |
| 208 private static native long nativeInit(); | 201 private static native long nativeInit(); |
| 209 private native void nativeUpdateMetricsServiceState(boolean mayRecord, boole
an mayUpload); | 202 private native void nativeUpdateMetricsServiceState(boolean mayRecord, boole
an mayUpload); |
| 210 private native void nativeUmaResumeSession(long nativeUmaSessionStats); | 203 private native void nativeUmaResumeSession(long nativeUmaSessionStats); |
| 211 private native void nativeUmaEndSession(long nativeUmaSessionStats); | 204 private native void nativeUmaEndSession(long nativeUmaSessionStats); |
| 212 private static native void nativeLogRendererCrash(boolean isPaused); | 205 private static native void nativeLogRendererCrash(); |
| 213 private static native void nativeRegisterExternalExperiment(int studyId, | 206 private static native void nativeRegisterExternalExperiment(int studyId, |
| 214 int experimentId
); | 207 int experimentId
); |
| 215 private static native void nativeRegisterSyntheticFieldTrial( | 208 private static native void nativeRegisterSyntheticFieldTrial( |
| 216 String trialName, String groupName); | 209 String trialName, String groupName); |
| 217 private static native void nativeRecordMultiWindowSession(int areaPercent, i
nt instanceCount); | 210 private static native void nativeRecordMultiWindowSession(int areaPercent, i
nt instanceCount); |
| 218 private static native void nativeRecordTabCountPerLoad(int numTabsOpen); | 211 private static native void nativeRecordTabCountPerLoad(int numTabsOpen); |
| 219 private static native void nativeRecordPageLoaded(boolean isDesktopUserAgent
); | 212 private static native void nativeRecordPageLoaded(boolean isDesktopUserAgent
); |
| 220 private static native void nativeRecordPageLoadedWithKeyboard(); | 213 private static native void nativeRecordPageLoadedWithKeyboard(); |
| 221 | 214 |
| 222 } | 215 } |
| OLD | NEW |