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 |