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

Unified Diff: chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc

Issue 2281743002: arc: Add support of default and OEM apps. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: refactored Created 4 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/ui/ash/launcher/arc_app_deferred_launcher_controller.cc
diff --git a/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc b/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc
index 247a047e2bb1681bff1b7bcf8a0f1c37cf805dee..c8677e7d43efeee9761d4627f3594204ee194312 100644
--- a/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc
+++ b/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc
@@ -16,6 +16,7 @@
#include "ui/gfx/paint_throbber.h"
namespace {
+
constexpr int kUpdateIconIntervalMs = 40; // 40ms for 25 frames per second.
constexpr int kSpinningGapPercent = 25;
@@ -62,9 +63,15 @@ ArcAppDeferredLauncherController::ArcAppDeferredLauncherController(
observed_profile_ = owner->GetProfile();
ArcAppListPrefs::Get(observed_profile_)->AddObserver(this);
}
+ arc::ArcAuthService* auth_service = arc::ArcAuthService::Get();
+ if (auth_service)
+ auth_service->AddObserver(this);
Mr4D (OOO till 08-26) 2016/08/30 20:21:46 Just checking - is it guaranteed that the lifetime
khmel 2016/08/30 21:22:11 Actually we have unit tests were ArcAuthService mi
}
ArcAppDeferredLauncherController::~ArcAppDeferredLauncherController() {
+ arc::ArcAuthService* auth_service = arc::ArcAuthService::Get();
+ if (auth_service)
+ auth_service->RemoveObserver(this);
if (observed_profile_)
ArcAppListPrefs::Get(observed_profile_)->RemoveObserver(this);
}
@@ -129,6 +136,21 @@ void ArcAppDeferredLauncherController::OnAppRemoved(const std::string& app_id) {
Close(app_id);
}
+void ArcAppDeferredLauncherController::OnOptInEnabled(bool enabled) {
+ // If Arc was disabled, remove all deferred launch requests.
Mr4D (OOO till 08-26) 2016/08/30 20:21:46 I suppose you want to move this comment to line 14
khmel 2016/08/30 21:22:11 Right, that the better place
+ if (enabled)
+ return;
+
+ while (!app_controller_map_.empty())
+ Close(app_controller_map_.begin()->first);
+}
+
+bool ArcAppDeferredLauncherController::HasApp(const std::string& app_id) const {
+ const std::string shelf_app_id =
+ ArcAppWindowLauncherController::GetShelfAppIdFromArcAppId(app_id);
+ return app_controller_map_.count(shelf_app_id);
+}
+
base::TimeDelta ArcAppDeferredLauncherController::GetActiveTime(
const std::string& shelf_app_id) const {
AppControllerMap::const_iterator it = app_controller_map_.find(shelf_app_id);
@@ -156,6 +178,11 @@ void ArcAppDeferredLauncherController::RegisterNextUpdate() {
void ArcAppDeferredLauncherController::RegisterDeferredLaunch(
const std::string& app_id) {
+ const arc::ArcAuthService* auth_service = arc::ArcAuthService::Get();
+ DCHECK(auth_service);
+ DCHECK(auth_service->state() != arc::ArcAuthService::State::STOPPED);
+ DCHECK(auth_service->state() != arc::ArcAuthService::State::NOT_INITIALIZED);
+
const std::string shelf_app_id =
ArcAppWindowLauncherController::GetShelfAppIdFromArcAppId(app_id);
const ash::ShelfID shelf_id = owner_->GetShelfIDForAppID(shelf_app_id);

Powered by Google App Engine
This is Rietveld 408576698