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

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

Issue 2524673003: arc: Stop/start ARC++ kiosk app when maintenance session started/finished. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add ArcKioskBridge::Delegate. Created 4 years 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_service_launcher.cc
diff --git a/chrome/browser/chromeos/arc/arc_service_launcher.cc b/chrome/browser/chromeos/arc/arc_service_launcher.cc
index 02c4d295b25a89f1eec654f7e0dd81a6821fa0c2..0f3b1de0774286a88573d38cde81406e8f708938 100644
--- a/chrome/browser/chromeos/arc/arc_service_launcher.cc
+++ b/chrome/browser/chromeos/arc/arc_service_launcher.cc
@@ -6,6 +6,7 @@
#include "base/logging.h"
#include "base/memory/ptr_util.h"
+#include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_service.h"
#include "chrome/browser/chromeos/arc/arc_auth_service.h"
#include "chrome/browser/chromeos/arc/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/downloads_watcher/arc_downloads_watcher_service.h"
@@ -36,6 +37,7 @@
#include "components/arc/storage_manager/arc_storage_manager.h"
#include "components/arc/user_data/arc_user_data_service.h"
#include "components/prefs/pref_member.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "ui/arc/notification/arc_notification_manager.h"
@@ -103,8 +105,6 @@ void ArcServiceLauncher::Initialize() {
arc_service_manager_->AddService(
base::MakeUnique<ArcImeService>(arc_bridge_service));
arc_service_manager_->AddService(
- base::MakeUnique<ArcKioskBridge>(arc_bridge_service));
- arc_service_manager_->AddService(
base::MakeUnique<ArcMetricsService>(arc_bridge_service));
arc_service_manager_->AddService(
base::MakeUnique<ArcNetHostImpl>(arc_bridge_service));
@@ -135,6 +135,14 @@ void ArcServiceLauncher::OnPrimaryUserProfilePrepared(Profile* profile) {
arc_service_manager_->AddService(base::MakeUnique<ArcNotificationManager>(
arc_service_manager_->arc_bridge_service(),
multi_user_util::GetAccountIdFromProfile(profile)));
+
+ // Kiosk apps should be run only for kiosk sessions.
+ if (user_manager::UserManager::Get()->IsLoggedInAsArcKioskApp()) {
+ arc_service_manager_->AddService(base::MakeUnique<ArcKioskBridge>(
+ arc_service_manager_->arc_bridge_service(),
+ chromeos::ArcKioskAppService::Get(profile)));
+ }
+
arc_session_manager_->OnPrimaryUserProfilePrepared(profile);
}

Powered by Google App Engine
This is Rietveld 408576698