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

Side by Side Diff: chrome/browser/chromeos/arc/arc_service_launcher.cc

Issue 2731403007: add voice interaction shortcut. (Closed)
Patch Set: rebased Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/arc/arc_service_launcher.h" 5 #include "chrome/browser/chromeos/arc/arc_service_launcher.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h"
10 #include "base/logging.h" 11 #include "base/logging.h"
11 #include "base/memory/ptr_util.h" 12 #include "base/memory/ptr_util.h"
12 #include "base/threading/sequenced_worker_pool.h" 13 #include "base/threading/sequenced_worker_pool.h"
13 #include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_service.h" 14 #include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_service.h"
14 #include "chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bri dge.h" 15 #include "chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bri dge.h"
15 #include "chrome/browser/chromeos/arc/arc_auth_service.h" 16 #include "chrome/browser/chromeos/arc/arc_auth_service.h"
16 #include "chrome/browser/chromeos/arc/arc_play_store_enabled_preference_handler. h" 17 #include "chrome/browser/chromeos/arc/arc_play_store_enabled_preference_handler. h"
17 #include "chrome/browser/chromeos/arc/arc_session_manager.h" 18 #include "chrome/browser/chromeos/arc/arc_session_manager.h"
18 #include "chrome/browser/chromeos/arc/arc_util.h" 19 #include "chrome/browser/chromeos/arc/arc_util.h"
19 #include "chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_ bridge.h" 20 #include "chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_ bridge.h"
20 #include "chrome/browser/chromeos/arc/downloads_watcher/arc_downloads_watcher_se rvice.h" 21 #include "chrome/browser/chromeos/arc/downloads_watcher/arc_downloads_watcher_se rvice.h"
21 #include "chrome/browser/chromeos/arc/enterprise/arc_enterprise_reporting_servic e.h" 22 #include "chrome/browser/chromeos/arc/enterprise/arc_enterprise_reporting_servic e.h"
22 #include "chrome/browser/chromeos/arc/fileapi/arc_file_system_mounter.h" 23 #include "chrome/browser/chromeos/arc/fileapi/arc_file_system_mounter.h"
23 #include "chrome/browser/chromeos/arc/fileapi/arc_file_system_operation_runner.h " 24 #include "chrome/browser/chromeos/arc/fileapi/arc_file_system_operation_runner.h "
24 #include "chrome/browser/chromeos/arc/intent_helper/arc_settings_service.h" 25 #include "chrome/browser/chromeos/arc/intent_helper/arc_settings_service.h"
25 #include "chrome/browser/chromeos/arc/notification/arc_boot_error_notification.h " 26 #include "chrome/browser/chromeos/arc/notification/arc_boot_error_notification.h "
26 #include "chrome/browser/chromeos/arc/policy/arc_policy_bridge.h" 27 #include "chrome/browser/chromeos/arc/policy/arc_policy_bridge.h"
27 #include "chrome/browser/chromeos/arc/policy/arc_policy_util.h" 28 #include "chrome/browser/chromeos/arc/policy/arc_policy_util.h"
28 #include "chrome/browser/chromeos/arc/print/arc_print_service.h" 29 #include "chrome/browser/chromeos/arc/print/arc_print_service.h"
29 #include "chrome/browser/chromeos/arc/process/arc_process_service.h" 30 #include "chrome/browser/chromeos/arc/process/arc_process_service.h"
30 #include "chrome/browser/chromeos/arc/tracing/arc_tracing_bridge.h" 31 #include "chrome/browser/chromeos/arc/tracing/arc_tracing_bridge.h"
31 #include "chrome/browser/chromeos/arc/tts/arc_tts_service.h" 32 #include "chrome/browser/chromeos/arc/tts/arc_tts_service.h"
32 #include "chrome/browser/chromeos/arc/video/gpu_arc_video_service_host.h" 33 #include "chrome/browser/chromeos/arc/video/gpu_arc_video_service_host.h"
34 #include "chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_fr amework_service.h"
33 #include "chrome/browser/chromeos/arc/wallpaper/arc_wallpaper_service.h" 35 #include "chrome/browser/chromeos/arc/wallpaper/arc_wallpaper_service.h"
34 #include "chrome/browser/profiles/profile.h" 36 #include "chrome/browser/profiles/profile.h"
35 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h" 37 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
38 #include "chromeos/chromeos_switches.h"
36 #include "components/arc/arc_service_manager.h" 39 #include "components/arc/arc_service_manager.h"
37 #include "components/arc/arc_session.h" 40 #include "components/arc/arc_session.h"
38 #include "components/arc/arc_session_runner.h" 41 #include "components/arc/arc_session_runner.h"
39 #include "components/arc/audio/arc_audio_bridge.h" 42 #include "components/arc/audio/arc_audio_bridge.h"
40 #include "components/arc/bluetooth/arc_bluetooth_bridge.h" 43 #include "components/arc/bluetooth/arc_bluetooth_bridge.h"
41 #include "components/arc/clipboard/arc_clipboard_bridge.h" 44 #include "components/arc/clipboard/arc_clipboard_bridge.h"
42 #include "components/arc/crash_collector/arc_crash_collector_bridge.h" 45 #include "components/arc/crash_collector/arc_crash_collector_bridge.h"
43 #include "components/arc/ime/arc_ime_service.h" 46 #include "components/arc/ime/arc_ime_service.h"
44 #include "components/arc/intent_helper/arc_intent_helper_bridge.h" 47 #include "components/arc/intent_helper/arc_intent_helper_bridge.h"
45 #include "components/arc/kiosk/arc_kiosk_bridge.h" 48 #include "components/arc/kiosk/arc_kiosk_bridge.h"
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 arc_service_manager_->AddService( 135 arc_service_manager_->AddService(
133 base::MakeUnique<ArcProcessService>(arc_bridge_service)); 136 base::MakeUnique<ArcProcessService>(arc_bridge_service));
134 arc_service_manager_->AddService( 137 arc_service_manager_->AddService(
135 base::MakeUnique<ArcSettingsService>(arc_bridge_service)); 138 base::MakeUnique<ArcSettingsService>(arc_bridge_service));
136 arc_service_manager_->AddService( 139 arc_service_manager_->AddService(
137 base::MakeUnique<ArcStorageManager>(arc_bridge_service)); 140 base::MakeUnique<ArcStorageManager>(arc_bridge_service));
138 arc_service_manager_->AddService( 141 arc_service_manager_->AddService(
139 base::MakeUnique<ArcTracingBridge>(arc_bridge_service)); 142 base::MakeUnique<ArcTracingBridge>(arc_bridge_service));
140 arc_service_manager_->AddService( 143 arc_service_manager_->AddService(
141 base::MakeUnique<ArcTtsService>(arc_bridge_service)); 144 base::MakeUnique<ArcTtsService>(arc_bridge_service));
145 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
146 chromeos::switches::kEnableVoiceInteraction)) {
Luis Héctor Chávez 2017/03/17 21:56:02 nit: we prefer for a single class to have complete
Muyuan 2017/03/17 23:39:29 Done.
147 arc_service_manager_->AddService(
148 base::MakeUnique<ArcVoiceInteractionFrameworkService>(
149 arc_bridge_service));
150 }
142 arc_service_manager_->AddService( 151 arc_service_manager_->AddService(
143 base::MakeUnique<ArcWallpaperService>(arc_bridge_service)); 152 base::MakeUnique<ArcWallpaperService>(arc_bridge_service));
144 arc_service_manager_->AddService( 153 arc_service_manager_->AddService(
145 base::MakeUnique<GpuArcVideoServiceHost>(arc_bridge_service)); 154 base::MakeUnique<GpuArcVideoServiceHost>(arc_bridge_service));
146 } 155 }
147 156
148 void ArcServiceLauncher::OnPrimaryUserProfilePrepared(Profile* profile) { 157 void ArcServiceLauncher::OnPrimaryUserProfilePrepared(Profile* profile) {
149 DCHECK(arc_service_manager_); 158 DCHECK(arc_service_manager_);
150 DCHECK(arc_session_manager_); 159 DCHECK(arc_session_manager_);
151 // TODO(hidehiko): DCHECK(!arc_session_manager_->IsAllowed()) here. 160 // TODO(hidehiko): DCHECK(!arc_session_manager_->IsAllowed()) here.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 void ArcServiceLauncher::Shutdown() { 205 void ArcServiceLauncher::Shutdown() {
197 // Destroy in the reverse order of the initialization. 206 // Destroy in the reverse order of the initialization.
198 arc_play_store_enabled_preference_handler_.reset(); 207 arc_play_store_enabled_preference_handler_.reset();
199 if (arc_service_manager_) 208 if (arc_service_manager_)
200 arc_service_manager_->Shutdown(); 209 arc_service_manager_->Shutdown();
201 arc_session_manager_.reset(); 210 arc_session_manager_.reset();
202 arc_service_manager_.reset(); 211 arc_service_manager_.reset();
203 } 212 }
204 213
205 } // namespace arc 214 } // namespace arc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698