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

Unified Diff: chrome/browser/chromeos/policy/consumer_management_service.cc

Issue 493613002: Add an enrolling state for consumer management section in settings page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dn
Patch Set: Created 6 years, 4 months 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: chrome/browser/chromeos/policy/consumer_management_service.cc
diff --git a/chrome/browser/chromeos/policy/consumer_management_service.cc b/chrome/browser/chromeos/policy/consumer_management_service.cc
index 247bdaf58c735d2034cb02fab1818c628ed4e6fa..782dd39cddce5f95e88b0fe643c1cc6587a380a1 100644
--- a/chrome/browser/chromeos/policy/consumer_management_service.cc
+++ b/chrome/browser/chromeos/policy/consumer_management_service.cc
@@ -20,6 +20,7 @@
#include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h"
#include "chrome/browser/chromeos/policy/enrollment_status_chromeos.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chrome/browser/notifications/notification.h"
#include "chrome/browser/notifications/notification_ui_manager.h"
#include "chrome/browser/profiles/profile.h"
@@ -67,9 +68,11 @@ const char* kConsumerManagementOverlay = "/consumer-management-overlay";
namespace policy {
ConsumerManagementService::ConsumerManagementService(
- chromeos::CryptohomeClient* client)
+ chromeos::CryptohomeClient* client,
+ chromeos::DeviceSettingsService* device_settings_service)
: Consumer("consumer_management_service"),
client_(client),
+ device_settings_service_(device_settings_service),
enrolling_token_service_(NULL),
is_observing_token_service_(false),
weak_ptr_factory_(this) {
@@ -94,6 +97,14 @@ void ConsumerManagementService::RegisterPrefs(PrefRegistrySimple* registry) {
prefs::kConsumerManagementEnrollmentState, ENROLLMENT_NONE);
}
+void ConsumerManagementService::AddObserver(Observer* observer) {
+ observers_.AddObserver(observer);
+}
+
+void ConsumerManagementService::RemoveObserver(Observer* observer) {
+ observers_.RemoveObserver(observer);
+}
+
ConsumerManagementService::ConsumerEnrollmentState
ConsumerManagementService::GetEnrollmentState() const {
const PrefService* prefs = g_browser_process->local_state();
@@ -109,6 +120,8 @@ void ConsumerManagementService::SetEnrollmentState(
ConsumerEnrollmentState state) {
PrefService* prefs = g_browser_process->local_state();
prefs->SetInteger(prefs::kConsumerManagementEnrollmentState, state);
+
+ NotifyEnrollmentStateChanged();
bartfab (slow) 2014/08/20 14:40:02 Nit: Since this is the only caller of NotifyEnroll
davidyu 2014/08/21 09:40:29 Done.
}
void ConsumerManagementService::GetOwner(const GetOwnerCallback& callback) {
@@ -181,6 +194,23 @@ void ConsumerManagementService::OnFlushAndSignBootAttributesDone(
callback.Run(true);
}
+bool ConsumerManagementService::IsEnrolled() const {
+ const enterprise_management::PolicyData* policy_data =
+ device_settings_service_->policy_data();
+ return policy_data && policy_data->management_mode() ==
bartfab (slow) 2014/08/20 14:40:02 What if policy data has not been retrieved yet? Th
davidyu 2014/08/21 09:40:29 Added a unknown state which is returned when polic
+ enterprise_management::PolicyData::CONSUMER_MANAGED;
+}
+
+bool ConsumerManagementService::IsEnrolling() const {
+ ConsumerEnrollmentState state = GetEnrollmentState();
+ return state > ENROLLMENT_NONE && state < ENROLLMENT_SUCCESS;
+}
+
+bool ConsumerManagementService::IsUnenrolling() const {
+ // TODO(davidyu): Implement this.
bartfab (slow) 2014/08/20 14:40:02 Nit: Can you add a bug number?
davidyu 2014/08/21 09:40:29 Done.
+ return false;
+}
+
void ConsumerManagementService::Observe(
int type,
const content::NotificationSource& source,
@@ -422,6 +452,12 @@ void ConsumerManagementService::ShowDesktopNotification(
g_browser_process->notification_ui_manager()->Add(*notification, profile);
}
+void ConsumerManagementService::NotifyEnrollmentStateChanged() {
+ FOR_EACH_OBSERVER(Observer,
+ observers_,
+ OnConsumerManagementEnrollmentStateChanged(this));
+}
+
ConsumerManagementService::DesktopNotificationDelegate::
DesktopNotificationDelegate(
const std::string& id,

Powered by Google App Engine
This is Rietveld 408576698