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

Unified Diff: ios/chrome/app/application_delegate/metrics_mediator.h

Issue 2580363002: Upstream Chrome on iOS source code [1/11]. (Closed)
Patch Set: Created 4 years 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 side-by-side diff with in-line comments
Download patch
Index: ios/chrome/app/application_delegate/metrics_mediator.h
diff --git a/ios/chrome/app/application_delegate/metrics_mediator.h b/ios/chrome/app/application_delegate/metrics_mediator.h
new file mode 100644
index 0000000000000000000000000000000000000000..8c77b8ce192cf7c1ed7da4bfbe4226d9a74dc6af
--- /dev/null
+++ b/ios/chrome/app/application_delegate/metrics_mediator.h
@@ -0,0 +1,54 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_APP_APPLICATION_DELEGATE_METRICS_MEDIATOR_H_
+#define IOS_CHROME_APP_APPLICATION_DELEGATE_METRICS_MEDIATOR_H_
+
+#import <UIKit/UIKit.h>
+
+@protocol StartupInformation;
+
+@protocol BrowserViewInformation;
+@protocol StartupInformation;
+
+namespace metrics_mediator {
+// Key in the UserDefaults to store the date/time that the background fetch
+// handler was called.
+extern NSString* const kAppEnteredBackgroundDateKey;
+} // namespace metrics_mediator
+
+// Deals with metrics, checking and updating them accordingly to to the user
+// preferences.
+@interface MetricsMediator : NSObject
+// Returns YES if the metrics pref is enabled. Does not take into account the
+// wifi-only option or wwan state.
+- (BOOL)areMetricsEnabled;
+// Return YES if uploading is allowed, based on user preferences.
+- (BOOL)isUploadingEnabled;
+// Starts or stops the metrics service and crash report recording and/or
+// uploading, based on the current user preferences. Makes sure helper
+// mechanisms and the wwan state observer are set up if necessary. Called both
+// on initialization and after user triggered preference change.
+// |isUserTriggered| is used to distinguish between those cases.
+- (void)updateMetricsStateBasedOnPrefsUserTriggered:(BOOL)isUserTriggered;
+// Logs the duration of the cold start startup. Does nothing if there isn't a
+// cold start.
++ (void)logStartupDuration:(id<StartupInformation>)startupInformation;
+// Logs the number of tabs open and the start type.
++ (void)logLaunchMetricsWithStartupInformation:
+ (id<StartupInformation>)startupInformation
+ browserViewInformation:
+ (id<BrowserViewInformation>)browserViewInformation;
+// Logs in UserDefaults the current date with kAppEnteredBackgroundDateKey as
+// key.
++ (void)logDateInUserDefaults;
+// Disables reporting in breakpad and metrics service.
++ (void)disableReporting;
+// Logs that the application is in background and the number of memory warnings
+// for this session.
++ (void)applicationDidEnterBackground:(NSInteger)memoryWarningCount;
+
+@end
+
+#endif // IOS_CHROME_APP_APPLICATION_DELEGATE_METRICS_MEDIATOR_H_

Powered by Google App Engine
This is Rietveld 408576698