[Metrics] Make MetricsStateManager take a callback param to check if UMA is enabled.
[chromium-blink-merge.git] / chrome / browser / android / google_location_settings_helper.h
blob6d6a513fa72be06fe6d6031fefaad2462c7b0bbd
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_ANDROID_GOOGLE_LOCATION_SETTINGS_HELPER_H_
6 #define CHROME_BROWSER_ANDROID_GOOGLE_LOCATION_SETTINGS_HELPER_H_
8 #include "base/values.h"
10 // This class is needed to fetch the current system location
11 // setting and update the infobar button label based on that information i.e,
12 // display "Allow" if google apps setting is set as enabled else, display
13 // "Settings" with a link to open the system location settings activity.
14 class GoogleLocationSettingsHelper {
15 public:
16 virtual ~GoogleLocationSettingsHelper() {}
18 static GoogleLocationSettingsHelper* Create();
20 virtual std::string GetAcceptButtonLabel(bool allow) = 0;
21 virtual void ShowGoogleLocationSettings() = 0;
22 // Checks both Master and Google Apps location setting to see
23 // if we should use "Allow" in the accept button.
24 virtual bool IsAllowLabel() = 0;
25 virtual bool IsMasterLocationSettingEnabled() = 0;
26 virtual bool IsGoogleAppsLocationSettingEnabled() = 0;
28 protected:
29 GoogleLocationSettingsHelper() {}
31 private:
33 DISALLOW_COPY_AND_ASSIGN(GoogleLocationSettingsHelper);
36 #endif // CHROME_BROWSER_ANDROID_GOOGLE_LOCATION_SETTINGS_HELPER_H_