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

Unified Diff: chrome/browser/chromeos/arc/arc_support_host.cc

Issue 2104893003: Adds a new checkbox for backup and restore in opt-in flow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adds a new checkbox for backup and restore in opt-in flow. Created 4 years, 6 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/arc/arc_support_host.cc
diff --git a/chrome/browser/chromeos/arc/arc_support_host.cc b/chrome/browser/chromeos/arc/arc_support_host.cc
index 3713eb058dab9ea26329320fbb9e032a40d6dcb9..bdc78c67af0dba74adf47f1b12f14cf0d9d9d446 100644
--- a/chrome/browser/chromeos/arc/arc_support_host.cc
+++ b/chrome/browser/chromeos/arc/arc_support_host.cc
@@ -19,6 +19,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
#include "chrome/browser/ui/browser_commands.h"
+#include "chrome/common/pref_names.h"
#include "chrome/grit/generated_resources.h"
#include "components/metrics/metrics_pref_names.h"
#include "components/prefs/pref_service.h"
@@ -28,13 +29,15 @@
namespace {
const char kAction[] = "action";
-const char kCode[] = "code";
+const char kBackupRestoreEnabled[] = "backupRestoreEnabled";
const char kCanEnable[] = "canEnable";
-const char kStatus[] = "status";
+const char kCode[] = "code";
const char kData[] = "data";
const char kDeviceId[] = "deviceId";
+const char kEnabled[] = "enabled";
const char kOn[] = "on";
const char kPage[] = "page";
+const char kStatus[] = "status";
const char kText[] = "text";
const char kActionInitialize[] = "initialize";
const char kActionSetMetricsMode[] = "setMetricsMode";
@@ -43,6 +46,7 @@ const char kActionCancelAuthCode[] = "cancelAuthCode";
const char kActionSetAuthCode[] = "setAuthCode";
const char kActionEnableMetrics[] = "enableMetrics";
const char kActionSendFeedback[] = "sendFeedback";
+const char kActionSetBackupRestore[] = "setBackupRestore";
const char kActionCloseUI[] = "closeUI";
const char kActionShowPage[] = "showPage";
} // namespace
@@ -98,7 +102,6 @@ void ArcSupportHost::Start(Client* client) {
void ArcSupportHost::Initialize() {
DCHECK(client_);
-
std::unique_ptr<base::DictionaryValue> localized_strings(
Yusuke Sato 2016/06/30 18:06:47 nit: this is no longer "strings". what about renam
new base::DictionaryValue());
base::string16 device_name = ash::GetChromeOSDeviceName();
@@ -133,14 +136,23 @@ void ArcSupportHost::Initialize() {
localized_strings->SetString(
"termsOfService",
l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_TERMS_OF_SERVICE));
+ localized_strings->SetString(
+ "textBackupRestore",
+ l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_BACKUP_RESTORE));
const std::string& app_locale = g_browser_process->GetApplicationLocale();
const std::string& country_code = base::CountryCodeForCurrentTimezone();
localized_strings->SetString("countryCode", country_code);
- webui::SetLoadTimeDataDefaults(app_locale, localized_strings.get());
arc::ArcAuthService* arc_auth_service = arc::ArcAuthService::Get();
+
+ localized_strings->SetBoolean(
+ kBackupRestoreEnabled,
+ arc_auth_service->profile()->GetPrefs()->GetBoolean(
+ prefs::kArcBackupRestoreEnabled));
+
+ webui::SetLoadTimeDataDefaults(app_locale, localized_strings.get());
DCHECK(arc_auth_service);
const std::string device_id = user_manager::known_user::GetDeviceId(
multi_user_util::GetAccountIdFromProfile(arc_auth_service->profile()));
@@ -215,8 +227,13 @@ void ArcSupportHost::OnOptInUIShowPage(arc::ArcAuthService::UIPage page,
client_->PostMessageFromNativeHost(response_string);
}
-void ArcSupportHost::EnableMetrics() {
- InitiateMetricsReportingChange(true, OnMetricsReportingCallbackType());
+void ArcSupportHost::EnableMetrics(bool is_enabled) {
+ InitiateMetricsReportingChange(is_enabled, OnMetricsReportingCallbackType());
+}
+
+void ArcSupportHost::EnableBackupRestore(bool is_enabled) {
+ PrefService* pref_service = arc::ArcAuthService::Get()->profile()->GetPrefs();
+ pref_service->SetBoolean(prefs::kArcBackupRestoreEnabled, is_enabled);
}
void ArcSupportHost::OnMessage(const std::string& request_string) {
@@ -249,9 +266,21 @@ void ArcSupportHost::OnMessage(const std::string& request_string) {
} else if (action == kActionCancelAuthCode) {
arc_auth_service->CancelAuthCode();
} else if (action == kActionEnableMetrics) {
- EnableMetrics();
+ bool is_enabled;
+ if (!request->GetBoolean(kEnabled, &is_enabled)) {
+ NOTREACHED();
+ return;
+ }
+ EnableMetrics(is_enabled);
} else if (action == kActionSendFeedback) {
chrome::OpenFeedbackDialog(nullptr);
+ } else if (action == kActionSetBackupRestore) {
+ bool is_enabled;
+ if (!request->GetBoolean(kEnabled, &is_enabled)) {
+ NOTREACHED();
+ return;
+ }
+ EnableBackupRestore(is_enabled);
} else {
NOTREACHED();
}

Powered by Google App Engine
This is Rietveld 408576698