OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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_ANDROID_GOOGLE_LOCATION_SETTINGS_HELPER_H_ | 5 #ifndef CHROME_BROWSER_ANDROID_GOOGLE_LOCATION_SETTINGS_HELPER_H_ |
6 #define CHROME_BROWSER_ANDROID_GOOGLE_LOCATION_SETTINGS_HELPER_H_ | 6 #define CHROME_BROWSER_ANDROID_GOOGLE_LOCATION_SETTINGS_HELPER_H_ |
7 | 7 |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 | 9 |
10 // This class is needed to fetch the current system location | 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, | 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 | 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. | 13 // "Settings" with a link to open the system location settings activity. |
14 class GoogleLocationSettingsHelper { | 14 class GoogleLocationSettingsHelper { |
15 public: | 15 public: |
16 virtual ~GoogleLocationSettingsHelper() {} | 16 virtual ~GoogleLocationSettingsHelper() {} |
17 | 17 |
18 static GoogleLocationSettingsHelper* Create(); | 18 static GoogleLocationSettingsHelper* Create(); |
19 | 19 |
20 virtual bool IsSystemLocationEnabled(); | 20 virtual bool IsSystemLocationEnabled() = 0; |
21 | 21 |
22 protected: | 22 protected: |
23 GoogleLocationSettingsHelper() {} | 23 GoogleLocationSettingsHelper() {} |
24 | 24 |
25 // TODO(miguelg) Remove these three methods once the downstream | |
26 // dependencies get updated. | |
27 virtual std::string GetAcceptButtonLabel(bool allow); | |
28 virtual bool IsAllowLabel(); | |
29 virtual void ShowGoogleLocationSettings(); | |
30 | |
31 // Checks both Master and Google Apps location setting to see | |
32 // if we should allow geolocation. | |
33 virtual bool IsMasterLocationSettingEnabled(); | |
34 virtual bool IsGoogleAppsLocationSettingEnabled(); | |
35 | 25 |
36 private: | 26 private: |
37 | 27 |
38 DISALLOW_COPY_AND_ASSIGN(GoogleLocationSettingsHelper); | 28 DISALLOW_COPY_AND_ASSIGN(GoogleLocationSettingsHelper); |
39 }; | 29 }; |
40 | 30 |
41 #endif // CHROME_BROWSER_ANDROID_GOOGLE_LOCATION_SETTINGS_HELPER_H_ | 31 #endif // CHROME_BROWSER_ANDROID_GOOGLE_LOCATION_SETTINGS_HELPER_H_ |
OLD | NEW |