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

Unified Diff: components/arc/arc_service_manager.cc

Issue 1966133002: Run RemoveArcData after a user has opted out (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clean up boolean logic Created 4 years, 7 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: components/arc/arc_service_manager.cc
diff --git a/components/arc/arc_service_manager.cc b/components/arc/arc_service_manager.cc
index df71eed57ca1da3ef8e6f3b3c0ed0bbcd83acbf4..0c1c9d7c7c00b0b65f90af0fc6848da1ab94cb26 100644
--- a/components/arc/arc_service_manager.cc
+++ b/components/arc/arc_service_manager.cc
@@ -20,7 +20,10 @@
#include "components/arc/net/arc_net_host_impl.h"
#include "components/arc/power/arc_power_bridge.h"
#include "components/arc/storage_manager/arc_storage_manager.h"
+#include "components/arc/user_data/arc_user_data_service.h"
#include "components/arc/window_manager/arc_window_manager_bridge.h"
+#include "components/prefs/pref_member.h"
+#include "components/prefs/pref_service.h"
#include "ui/arc/notification/arc_notification_manager.h"
namespace arc {
@@ -60,6 +63,8 @@ ArcServiceManager::ArcServiceManager(
AddService(base::WrapUnique(new ArcNetHostImpl(arc_bridge_service())));
AddService(base::WrapUnique(new ArcPowerBridge(arc_bridge_service())));
AddService(base::WrapUnique(new ArcStorageManager(arc_bridge_service())));
+
+ arc_user_data_service_.reset(new ArcUserDataService(this));
Luis Héctor Chávez 2016/05/20 15:03:58 nit: arc_user_data_service_ = base::MakeUnique<Arc
dspaid 2016/05/23 01:22:36 Done.
}
ArcServiceManager::~ArcServiceManager() {
@@ -69,6 +74,8 @@ ArcServiceManager::~ArcServiceManager() {
if (g_arc_bridge_service_for_testing) {
delete g_arc_bridge_service_for_testing;
}
+ if (arc_enabled_pref_)
Daniel Erat 2016/05/20 17:41:05 it doesn't seem like you need this. PrefMemberBase
dspaid 2016/05/23 01:22:36 Done.
+ arc_enabled_pref_->Destroy();
}
// static
@@ -90,13 +97,25 @@ void ArcServiceManager::AddService(std::unique_ptr<ArcService> service) {
}
void ArcServiceManager::OnPrimaryUserProfilePrepared(
- const AccountId& account_id) {
+ const AccountId& account_id,
+ PrefService* pref_service,
+ std::string pref_name) {
+ if (arc_enabled_pref_)
Luis Héctor Chávez 2016/05/20 15:03:58 DCHECK(thread_checker_.CalledOnValidThread());
dspaid 2016/05/23 01:22:36 Done.
+ arc_enabled_pref_->Destroy();
Daniel Erat 2016/05/20 17:41:05 you shouldn't need this here either
dspaid 2016/05/23 01:22:36 Done.
+ arc_enabled_pref_ = std::unique_ptr<BooleanPrefMember>(
Luis Héctor Chávez 2016/05/20 15:03:58 nit: arc_enabled_pref_ = base::MakeUnique<BooleanP
dspaid 2016/05/23 01:22:36 Acknowledged.
+ new BooleanPrefMember());
+ arc_enabled_pref_->Init(pref_name, pref_service);
DCHECK(thread_checker_.CalledOnValidThread());
+ arc_user_data_service_->ClearIfDisabled(account_id);
AddService(base::WrapUnique(
new ArcNotificationManager(arc_bridge_service(), account_id)));
}
+bool ArcServiceManager::IsArcEnabled() {
+ return arc_enabled_pref_ && arc_enabled_pref_->GetValue();
Luis Héctor Chávez 2016/05/20 15:03:58 DCHECK(thread_checker_.CalledOnValidThread());
dspaid 2016/05/23 01:22:36 Done.
+}
+
void ArcServiceManager::OnAshStarted() {
DCHECK(thread_checker_.CalledOnValidThread());
// We might come here multiple times. As such we should only do this once.

Powered by Google App Engine
This is Rietveld 408576698