Index: components/arc/arc_bridge_service_impl.cc |
diff --git a/components/arc/arc_bridge_service_impl.cc b/components/arc/arc_bridge_service_impl.cc |
index be5fdad77d453ec54c6620dca3f0dcd4cbfafc59..41f8f27fedf036f99eb43f6d89fdea0cd204d66e 100644 |
--- a/components/arc/arc_bridge_service_impl.cc |
+++ b/components/arc/arc_bridge_service_impl.cc |
@@ -108,6 +108,39 @@ bool ArcBridgeServiceImpl::RegisterInputDevice(const std::string& name, |
name, device_type, base::FileDescriptor(fd.Pass()))); |
} |
+bool ArcBridgeServiceImpl::RefreshApps() { |
+ DCHECK(origin_task_runner_->RunsTasksOnCurrentThread()); |
+ if (state() != State::READY) { |
+ LOG(ERROR) << "Called RefreshApps when the service is not ready"; |
+ return false; |
+ } |
+ return ipc_channel_->Send(new ArcInstanceMsg_RefreshApps()); |
+} |
+ |
+bool ArcBridgeServiceImpl::LaunchApp(const std::string& package, |
+ const std::string& activity) { |
+ DCHECK(origin_task_runner_->RunsTasksOnCurrentThread()); |
+ if (state() != State::READY) { |
+ LOG(ERROR) << "Called LaunchApp when the service is not ready"; |
+ return false; |
+ } |
+ |
+ return ipc_channel_->Send(new ArcInstanceMsg_LaunchApp(package, activity)); |
+} |
+ |
+bool ArcBridgeServiceImpl::RequestIcon(const std::string& package, |
+ const std::string& activity, |
+ int scale_factor) { |
+ DCHECK(origin_task_runner_->RunsTasksOnCurrentThread()); |
+ if (state() != State::READY) { |
+ LOG(ERROR) << "Called RequestIcon when the service is not ready"; |
+ return false; |
+ } |
+ return ipc_channel_->Send(new ArcInstanceMsg_RequestIcon(package, |
+ activity, |
+ scale_factor)); |
+} |
+ |
void ArcBridgeServiceImpl::SocketConnect(const base::FilePath& socket_path) { |
DCHECK(origin_task_runner_->RunsTasksOnCurrentThread()); |
if (state() != State::STOPPED) { |
@@ -226,6 +259,8 @@ bool ArcBridgeServiceImpl::OnMessageReceived(const IPC::Message& message) { |
IPC_BEGIN_MESSAGE_MAP(ArcBridgeServiceImpl, message) |
IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_InstanceBootPhase, |
OnInstanceBootPhase) |
+ IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_AppsRefreshed, OnAppsRefreshed) |
+ IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_AppIcon, OnAppIcon) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
@@ -234,6 +269,23 @@ bool ArcBridgeServiceImpl::OnMessageReceived(const IPC::Message& message) { |
return handled; |
} |
+void ArcBridgeServiceImpl::OnAppsRefreshed( |
+ const std::vector<arc::AppInfo>& apps) { |
+ DCHECK(origin_task_runner_->RunsTasksOnCurrentThread()); |
+ FOR_EACH_OBSERVER(Observer, observer_list_, OnAppsRefreshed(apps)); |
+} |
+ |
+void ArcBridgeServiceImpl::OnAppIcon(const std::string& package, |
+ const std::string& activity, |
Luis Héctor Chávez
2015/11/25 21:53:40
nit: Misaligned
|
+ int scale_factor, |
+ const std::vector<uint8_t>& icon_png_data) { |
+ DCHECK(origin_task_runner_->RunsTasksOnCurrentThread()); |
+ FOR_EACH_OBSERVER(Observer, observer_list_, OnAppIcon(package, |
+ activity, |
+ scale_factor, |
+ icon_png_data)); |
+} |
+ |
void ArcBridgeServiceImpl::OnArcAvailable(bool arc_available) { |
DCHECK(origin_task_runner_->RunsTasksOnCurrentThread()); |
if (available() == arc_available) |