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

Unified Diff: chrome/browser/ui/webui/settings/chromeos/android_apps_handler.cc

Issue 2873853002: arc: Handle ARC events in MD Settings (Closed)
Patch Set: up Created 3 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: chrome/browser/ui/webui/settings/chromeos/android_apps_handler.cc
diff --git a/chrome/browser/ui/webui/settings/chromeos/android_apps_handler.cc b/chrome/browser/ui/webui/settings/chromeos/android_apps_handler.cc
index 099654c83ca061d0149bea2ee91172e878963664..78eacaee3767054728445c40bbb5a2c925c294bf 100644
--- a/chrome/browser/ui/webui/settings/chromeos/android_apps_handler.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/android_apps_handler.cc
@@ -14,7 +14,10 @@ namespace chromeos {
namespace settings {
AndroidAppsHandler::AndroidAppsHandler(Profile* profile)
- : arc_prefs_observer_(this), profile_(profile), weak_ptr_factory_(this) {}
+ : arc_prefs_observer_(this),
+ arc_session_manager_observer_(this),
+ profile_(profile),
+ weak_ptr_factory_(this) {}
AndroidAppsHandler::~AndroidAppsHandler() {}
@@ -31,12 +34,16 @@ void AndroidAppsHandler::RegisterMessages() {
void AndroidAppsHandler::OnJavascriptAllowed() {
ArcAppListPrefs* arc_prefs = ArcAppListPrefs::Get(profile_);
- if (arc_prefs)
+ if (arc_prefs) {
arc_prefs_observer_.Add(arc_prefs);
+ // arc::ArcSessionManager is assosiated with primary profile.
+ arc_session_manager_observer_.Add(arc::ArcSessionManager::Get());
+ }
}
void AndroidAppsHandler::OnJavascriptDisallowed() {
arc_prefs_observer_.RemoveAll();
+ arc_session_manager_observer_.RemoveAll();
}
void AndroidAppsHandler::OnAppRegistered(
@@ -49,27 +56,24 @@ void AndroidAppsHandler::OnAppRemoved(const std::string& app_id) {
OnAppChanged(app_id);
}
-void AndroidAppsHandler::OnAppReadyChanged(const std::string& app_id,
- bool ready) {
- OnAppChanged(app_id);
-}
-
void AndroidAppsHandler::OnAppChanged(const std::string& app_id) {
if (app_id != arc::kSettingsAppId)
return;
SendAndroidAppsInfo();
}
+void AndroidAppsHandler::OnArcPlayStoreEnabledChanged(bool enabled) {
+ SendAndroidAppsInfo();
+}
+
std::unique_ptr<base::DictionaryValue>
AndroidAppsHandler::BuildAndroidAppsInfo() {
std::unique_ptr<base::DictionaryValue> info(new base::DictionaryValue);
- bool app_ready = false;
- if (arc::IsArcPlayStoreEnabledForProfile(profile_)) {
- std::unique_ptr<ArcAppListPrefs::AppInfo> app_info =
- ArcAppListPrefs::Get(profile_)->GetApp(arc::kSettingsAppId);
- app_ready = app_info && app_info->ready;
- }
- info->SetBoolean("appReady", app_ready);
+ info->SetBoolean("playStoreEnabled",
+ arc::IsArcPlayStoreEnabledForProfile(profile_));
+ info->SetBoolean(
+ "settingsAppAvailable",
+ ArcAppListPrefs::Get(profile_)->IsRegistered(arc::kSettingsAppId));
return info;
}

Powered by Google App Engine
This is Rietveld 408576698