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

Side by Side Diff: chrome/browser/metrics/android_metrics_provider.h

Issue 676783003: Record document mode histogram in UMA on every upload. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2171
Patch Set: Created 6 years, 1 month 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef CHROME_BROWSER_METRICS_ANDROID_METRICS_PROVIDER_H_ 5 #ifndef CHROME_BROWSER_METRICS_ANDROID_METRICS_PROVIDER_H_
6 #define CHROME_BROWSER_METRICS_ANDROID_METRICS_PROVIDER_H_ 6 #define CHROME_BROWSER_METRICS_ANDROID_METRICS_PROVIDER_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "chrome/browser/android/activity_type_ids.h" 9 #include "chrome/browser/android/activity_type_ids.h"
10 #include "components/metrics/metrics_provider.h" 10 #include "components/metrics/metrics_provider.h"
11 11
12 class PrefService; 12 class PrefService;
13 class PrefRegistrySimple; 13 class PrefRegistrySimple;
14 14
15 namespace metrics {
16 class ChromeUserMetricsExtension;
17 }
18
15 // AndroidMetricsProvider provides Android-specific stability metrics. 19 // AndroidMetricsProvider provides Android-specific stability metrics.
16 class AndroidMetricsProvider : public metrics::MetricsProvider { 20 class AndroidMetricsProvider : public metrics::MetricsProvider {
17 public: 21 public:
18 // Creates the AndroidMetricsProvider with the given |local_state|. 22 // Creates the AndroidMetricsProvider with the given |local_state|.
19 explicit AndroidMetricsProvider(PrefService* local_state); 23 explicit AndroidMetricsProvider(PrefService* local_state);
20 virtual ~AndroidMetricsProvider(); 24 virtual ~AndroidMetricsProvider();
21 25
26 // metrics::MetricsProvider:
27 virtual void ProvideGeneralMetrics(
28 metrics::ChromeUserMetricsExtension* uma_proto) override;
29
22 // Called when the Activity that the user interacts with is swapped out. 30 // Called when the Activity that the user interacts with is swapped out.
23 // TODO(asvitkine): Expose a way for Android code to actually invoke this. 31 // TODO(asvitkine): Expose a way for Android code to actually invoke this.
24 void OnForegroundActivityChanged(ActivityTypeIds::Type type); 32 void OnForegroundActivityChanged(ActivityTypeIds::Type type);
25 33
26 // metrics::MetricsDataProvider: 34 // metrics::MetricsProvider:
27 virtual void ProvideStabilityMetrics( 35 virtual void ProvideStabilityMetrics(
28 metrics::SystemProfileProto* system_profile_proto) OVERRIDE; 36 metrics::SystemProfileProto* system_profile_proto) OVERRIDE;
29 37
30 // Registers local state prefs used by this class. 38 // Registers local state prefs used by this class.
31 static void RegisterPrefs(PrefRegistrySimple* registry); 39 static void RegisterPrefs(PrefRegistrySimple* registry);
32 40
33 private: 41 private:
34 // Called to log launch and crash stats to preferences. 42 // Called to log launch and crash stats to preferences.
35 void LogStabilityToPrefs(); 43 void LogStabilityToPrefs();
36 44
37 // Converts crash stats stored in the preferences into histograms. 45 // Converts crash stats stored in the preferences into histograms.
38 void ConvertStabilityPrefsToHistograms(); 46 void ConvertStabilityPrefsToHistograms();
39 47
40 // Weak pointer to the local state prefs store. 48 // Weak pointer to the local state prefs store.
41 PrefService* local_state_; 49 PrefService* local_state_;
42 50
43 DISALLOW_COPY_AND_ASSIGN(AndroidMetricsProvider); 51 DISALLOW_COPY_AND_ASSIGN(AndroidMetricsProvider);
44 }; 52 };
45 53
46 #endif // CHROME_BROWSER_METRICS_ANDROID_METRICS_PROVIDER_H_ 54 #endif // CHROME_BROWSER_METRICS_ANDROID_METRICS_PROVIDER_H_
OLDNEW
« no previous file with comments | « chrome/browser/android/feature_utilities.cc ('k') | chrome/browser/metrics/android_metrics_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698