Commit c5c3e347 authored by David Black's avatar David Black Committed by Commit Bot

Expose AssistantScreenContextController and AssistantSetupController.

Previously, out of process calls to AssistantScreenContextController and
AssistantSetupController were proxied through AssistantController. Now,
we expose those subcontrollers directly for binding.

Bug: b:119272394
Change-Id: I136d0e025761b4fe99151218512f83eeb00a6541
Reviewed-on: https://chromium-review.googlesource.com/c/1327532
Commit-Queue: David Black <dmblack@google.com>
Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Reviewed-by: default avatarXiaohui Chen <xiaohuic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611327}
parent 4a9a9f72
...@@ -99,23 +99,6 @@ void AssistantController::SetAssistantImageDownloader( ...@@ -99,23 +99,6 @@ void AssistantController::SetAssistantImageDownloader(
assistant_image_downloader_ = std::move(assistant_image_downloader); assistant_image_downloader_ = std::move(assistant_image_downloader);
} }
// TODO(dmblack): Call SetAssistantSetup directly on AssistantSetupController
// instead of going through AssistantController.
void AssistantController::SetAssistantSetup(
mojom::AssistantSetupPtr assistant_setup) {
assistant_setup_ = std::move(assistant_setup);
assistant_setup_controller_->SetAssistantSetup(assistant_setup_.get());
}
// TODO(dmblack): Expose AssistantScreenContextController over mojo rather
// than implementing RequestScreenshot here in AssistantController.
void AssistantController::RequestScreenshot(
const gfx::Rect& rect,
RequestScreenshotCallback callback) {
assistant_screen_context_controller_->RequestScreenshot(rect,
std::move(callback));
}
void AssistantController::OpenAssistantSettings() { void AssistantController::OpenAssistantSettings() {
// Launch Assistant settings via deeplink. // Launch Assistant settings via deeplink.
OpenUrl(assistant::util::CreateAssistantSettingsDeepLink()); OpenUrl(assistant::util::CreateAssistantSettingsDeepLink());
......
...@@ -27,7 +27,6 @@ ...@@ -27,7 +27,6 @@
#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/binding_set.h"
#include "mojo/public/cpp/bindings/interface_ptr_set.h" #include "mojo/public/cpp/bindings/interface_ptr_set.h"
#include "services/content/public/mojom/navigable_contents_factory.mojom.h" #include "services/content/public/mojom/navigable_contents_factory.mojom.h"
#include "ui/gfx/geometry/rect.h"
namespace ash { namespace ash {
...@@ -65,15 +64,10 @@ class ASH_EXPORT AssistantController ...@@ -65,15 +64,10 @@ class ASH_EXPORT AssistantController
// mojom::AssistantController: // mojom::AssistantController:
// TODO(updowndota): Refactor Set() calls to use a factory pattern. // TODO(updowndota): Refactor Set() calls to use a factory pattern.
// TODO(dmblack): Expose RequestScreenshot(...) over mojo through
// AssistantScreenContextController.
void SetAssistant( void SetAssistant(
chromeos::assistant::mojom::AssistantPtr assistant) override; chromeos::assistant::mojom::AssistantPtr assistant) override;
void SetAssistantImageDownloader( void SetAssistantImageDownloader(
mojom::AssistantImageDownloaderPtr assistant_image_downloader) override; mojom::AssistantImageDownloaderPtr assistant_image_downloader) override;
void SetAssistantSetup(mojom::AssistantSetupPtr assistant_setup) override;
void RequestScreenshot(const gfx::Rect& rect,
RequestScreenshotCallback callback) override;
void OpenAssistantSettings() override; void OpenAssistantSettings() override;
// AssistantControllerObserver: // AssistantControllerObserver:
...@@ -158,8 +152,6 @@ class ASH_EXPORT AssistantController ...@@ -158,8 +152,6 @@ class ASH_EXPORT AssistantController
mojom::AssistantImageDownloaderPtr assistant_image_downloader_; mojom::AssistantImageDownloaderPtr assistant_image_downloader_;
mojom::AssistantSetupPtr assistant_setup_;
std::unique_ptr<AssistantCacheController> assistant_cache_controller_; std::unique_ptr<AssistantCacheController> assistant_cache_controller_;
std::unique_ptr<AssistantInteractionController> std::unique_ptr<AssistantInteractionController>
......
...@@ -47,7 +47,7 @@ std::vector<uint8_t> DownsampleAndEncodeImage(gfx::Image image) { ...@@ -47,7 +47,7 @@ std::vector<uint8_t> DownsampleAndEncodeImage(gfx::Image image) {
} }
void EncodeScreenshotAndRunCallback( void EncodeScreenshotAndRunCallback(
mojom::AssistantController::RequestScreenshotCallback callback, mojom::AssistantScreenContextController::RequestScreenshotCallback callback,
std::unique_ptr<ui::LayerTreeOwner> layer_owner, std::unique_ptr<ui::LayerTreeOwner> layer_owner,
gfx::Image image) { gfx::Image image) {
base::PostTaskWithTraitsAndReplyWithResult( base::PostTaskWithTraitsAndReplyWithResult(
...@@ -129,6 +129,7 @@ std::unique_ptr<ui::LayerTreeOwner> CreateLayerForAssistantSnapshot( ...@@ -129,6 +129,7 @@ std::unique_ptr<ui::LayerTreeOwner> CreateLayerForAssistantSnapshot(
AssistantScreenContextController::AssistantScreenContextController( AssistantScreenContextController::AssistantScreenContextController(
AssistantController* assistant_controller) AssistantController* assistant_controller)
: assistant_controller_(assistant_controller), : assistant_controller_(assistant_controller),
binding_(this),
screen_context_request_factory_(this) { screen_context_request_factory_(this) {
assistant_controller_->AddObserver(this); assistant_controller_->AddObserver(this);
} }
...@@ -137,6 +138,11 @@ AssistantScreenContextController::~AssistantScreenContextController() { ...@@ -137,6 +138,11 @@ AssistantScreenContextController::~AssistantScreenContextController() {
assistant_controller_->RemoveObserver(this); assistant_controller_->RemoveObserver(this);
} }
void AssistantScreenContextController::BindRequest(
mojom::AssistantScreenContextControllerRequest request) {
binding_.Bind(std::move(request));
}
void AssistantScreenContextController::SetAssistant( void AssistantScreenContextController::SetAssistant(
chromeos::assistant::mojom::Assistant* assistant) { chromeos::assistant::mojom::Assistant* assistant) {
assistant_ = assistant; assistant_ = assistant;
...@@ -154,7 +160,8 @@ void AssistantScreenContextController::RemoveModelObserver( ...@@ -154,7 +160,8 @@ void AssistantScreenContextController::RemoveModelObserver(
void AssistantScreenContextController::RequestScreenshot( void AssistantScreenContextController::RequestScreenshot(
const gfx::Rect& rect, const gfx::Rect& rect,
mojom::AssistantController::RequestScreenshotCallback callback) { mojom::AssistantScreenContextController::RequestScreenshotCallback
callback) {
aura::Window* root_window = Shell::Get()->GetRootWindowForNewWindows(); aura::Window* root_window = Shell::Get()->GetRootWindowForNewWindows();
std::unique_ptr<ui::LayerTreeOwner> layer_owner = std::unique_ptr<ui::LayerTreeOwner> layer_owner =
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "ash/assistant/model/assistant_ui_model_observer.h" #include "ash/assistant/model/assistant_ui_model_observer.h"
#include "ash/public/interfaces/assistant_controller.mojom.h" #include "ash/public/interfaces/assistant_controller.mojom.h"
#include "base/macros.h" #include "base/macros.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/rect.h"
namespace ui { namespace ui {
...@@ -25,13 +26,16 @@ class AssistantController; ...@@ -25,13 +26,16 @@ class AssistantController;
class AssistantScreenContextModelObserver; class AssistantScreenContextModelObserver;
class ASH_EXPORT AssistantScreenContextController class ASH_EXPORT AssistantScreenContextController
: public AssistantControllerObserver, : public ash::mojom::AssistantScreenContextController,
public AssistantControllerObserver,
public AssistantUiModelObserver { public AssistantUiModelObserver {
public: public:
explicit AssistantScreenContextController( explicit AssistantScreenContextController(
AssistantController* assistant_controller); AssistantController* assistant_controller);
~AssistantScreenContextController() override; ~AssistantScreenContextController() override;
void BindRequest(mojom::AssistantScreenContextControllerRequest request);
// Provides a pointer to the |assistant| owned by AssistantController. // Provides a pointer to the |assistant| owned by AssistantController.
void SetAssistant(chromeos::assistant::mojom::Assistant* assistant); void SetAssistant(chromeos::assistant::mojom::Assistant* assistant);
...@@ -42,12 +46,11 @@ class ASH_EXPORT AssistantScreenContextController ...@@ -42,12 +46,11 @@ class ASH_EXPORT AssistantScreenContextController
void AddModelObserver(AssistantScreenContextModelObserver* observer); void AddModelObserver(AssistantScreenContextModelObserver* observer);
void RemoveModelObserver(AssistantScreenContextModelObserver* observer); void RemoveModelObserver(AssistantScreenContextModelObserver* observer);
// Requests a screenshot for the region defined by |rect| (given in DP). If // ash::mojom::AssistantScreenContextController:
// an empty rect is supplied, the entire screen is captured. Upon screenshot
// completion, the specified |callback| is run.
void RequestScreenshot( void RequestScreenshot(
const gfx::Rect& rect, const gfx::Rect& rect,
mojom::AssistantController::RequestScreenshotCallback callback); mojom::AssistantScreenContextController::RequestScreenshotCallback
callback) override;
// AssistantControllerObserver: // AssistantControllerObserver:
void OnAssistantControllerConstructed() override; void OnAssistantControllerConstructed() override;
...@@ -66,6 +69,8 @@ class ASH_EXPORT AssistantScreenContextController ...@@ -66,6 +69,8 @@ class ASH_EXPORT AssistantScreenContextController
private: private:
AssistantController* const assistant_controller_; // Owned by Shell. AssistantController* const assistant_controller_; // Owned by Shell.
mojo::Binding<mojom::AssistantScreenContextController> binding_;
// Owned by AssistantController. // Owned by AssistantController.
chromeos::assistant::mojom::Assistant* assistant_ = nullptr; chromeos::assistant::mojom::Assistant* assistant_ = nullptr;
......
...@@ -12,7 +12,7 @@ namespace ash { ...@@ -12,7 +12,7 @@ namespace ash {
AssistantSetupController::AssistantSetupController( AssistantSetupController::AssistantSetupController(
AssistantController* assistant_controller) AssistantController* assistant_controller)
: assistant_controller_(assistant_controller) { : assistant_controller_(assistant_controller), binding_(this) {
assistant_controller_->AddObserver(this); assistant_controller_->AddObserver(this);
} }
...@@ -20,9 +20,14 @@ AssistantSetupController::~AssistantSetupController() { ...@@ -20,9 +20,14 @@ AssistantSetupController::~AssistantSetupController() {
assistant_controller_->RemoveObserver(this); assistant_controller_->RemoveObserver(this);
} }
void AssistantSetupController::BindRequest(
mojom::AssistantSetupControllerRequest request) {
binding_.Bind(std::move(request));
}
void AssistantSetupController::SetAssistantSetup( void AssistantSetupController::SetAssistantSetup(
mojom::AssistantSetup* assistant_setup) { mojom::AssistantSetupPtr assistant_setup) {
assistant_setup_ = assistant_setup; assistant_setup_ = std::move(assistant_setup);
} }
void AssistantSetupController::OnDeepLinkReceived( void AssistantSetupController::OnDeepLinkReceived(
......
...@@ -10,21 +10,26 @@ ...@@ -10,21 +10,26 @@
#include "ash/assistant/assistant_controller_observer.h" #include "ash/assistant/assistant_controller_observer.h"
#include "ash/assistant/ui/main_stage/assistant_opt_in_view.h" #include "ash/assistant/ui/main_stage/assistant_opt_in_view.h"
#include "ash/public/interfaces/assistant_controller.mojom.h"
#include "ash/public/interfaces/assistant_setup.mojom.h" #include "ash/public/interfaces/assistant_setup.mojom.h"
#include "base/macros.h" #include "base/macros.h"
#include "mojo/public/cpp/bindings/binding.h"
namespace ash { namespace ash {
class AssistantController; class AssistantController;
class AssistantSetupController : public AssistantControllerObserver, class AssistantSetupController : public mojom::AssistantSetupController,
public AssistantControllerObserver,
public AssistantOptInDelegate { public AssistantOptInDelegate {
public: public:
explicit AssistantSetupController(AssistantController* assistant_controller); explicit AssistantSetupController(AssistantController* assistant_controller);
~AssistantSetupController() override; ~AssistantSetupController() override;
// Sets the controller's internal |assistant_setup_| reference. void BindRequest(mojom::AssistantSetupControllerRequest request);
void SetAssistantSetup(mojom::AssistantSetup* assistant_setup);
// mojom::AssistantSetupController:
void SetAssistantSetup(mojom::AssistantSetupPtr assistant_setup) override;
// AssistantControllerObserver: // AssistantControllerObserver:
void OnDeepLinkReceived( void OnDeepLinkReceived(
...@@ -39,8 +44,10 @@ class AssistantSetupController : public AssistantControllerObserver, ...@@ -39,8 +44,10 @@ class AssistantSetupController : public AssistantControllerObserver,
AssistantController* const assistant_controller_; // Owned by Shell. AssistantController* const assistant_controller_; // Owned by Shell.
mojom::AssistantSetup* assistant_setup_ = mojo::Binding<mojom::AssistantSetupController> binding_;
nullptr; // Owned by AssistantController.
// Interface to AssistantSetup in chrome/browser.
mojom::AssistantSetupPtr assistant_setup_;
DISALLOW_COPY_AND_ASSIGN(AssistantSetupController); DISALLOW_COPY_AND_ASSIGN(AssistantSetupController);
}; };
......
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
"ash.mojom.AppListController", "ash.mojom.AppListController",
"ash.mojom.AshMessageCenterController", "ash.mojom.AshMessageCenterController",
"ash.mojom.AssistantController", "ash.mojom.AssistantController",
"ash.mojom.AssistantScreenContextController",
"ash.mojom.AssistantSetupController",
"ash.mojom.AssistantVolumeControl", "ash.mojom.AssistantVolumeControl",
"ash.mojom.CastConfig", "ash.mojom.CastConfig",
"ash.mojom.CrosDisplayConfigController", "ash.mojom.CrosDisplayConfigController",
......
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
#include "ash/accessibility/accessibility_focus_ring_controller.h" #include "ash/accessibility/accessibility_focus_ring_controller.h"
#include "ash/app_list/app_list_controller_impl.h" #include "ash/app_list/app_list_controller_impl.h"
#include "ash/assistant/assistant_controller.h" #include "ash/assistant/assistant_controller.h"
#include "ash/assistant/assistant_screen_context_controller.h"
#include "ash/assistant/assistant_setup_controller.h"
#include "ash/cast_config_controller.h" #include "ash/cast_config_controller.h"
#include "ash/display/ash_display_controller.h" #include "ash/display/ash_display_controller.h"
#include "ash/display/cros_display_config.h" #include "ash/display/cros_display_config.h"
...@@ -87,6 +89,20 @@ void BindAssistantControllerRequestOnMainThread( ...@@ -87,6 +89,20 @@ void BindAssistantControllerRequestOnMainThread(
Shell::Get()->assistant_controller()->BindRequest(std::move(request)); Shell::Get()->assistant_controller()->BindRequest(std::move(request));
} }
void BindAssistantScreenContextControllerRequestOnMainThread(
mojom::AssistantScreenContextControllerRequest request) {
Shell::Get()
->assistant_controller()
->screen_context_controller()
->BindRequest(std::move(request));
}
void BindAssistantSetupControllerRequestOnMainThread(
mojom::AssistantSetupControllerRequest request) {
Shell::Get()->assistant_controller()->setup_controller()->BindRequest(
std::move(request));
}
void BindAssistantVolumeControlRequestOnMainThread( void BindAssistantVolumeControlRequestOnMainThread(
mojom::AssistantVolumeControlRequest request) { mojom::AssistantVolumeControlRequest request) {
Shell::Get()->assistant_controller()->BindRequest(std::move(request)); Shell::Get()->assistant_controller()->BindRequest(std::move(request));
...@@ -243,6 +259,13 @@ void RegisterInterfaces( ...@@ -243,6 +259,13 @@ void RegisterInterfaces(
registry->AddInterface( registry->AddInterface(
base::BindRepeating(&BindAssistantControllerRequestOnMainThread), base::BindRepeating(&BindAssistantControllerRequestOnMainThread),
main_thread_task_runner); main_thread_task_runner);
registry->AddInterface(
base::BindRepeating(
&BindAssistantScreenContextControllerRequestOnMainThread),
main_thread_task_runner);
registry->AddInterface(
base::BindRepeating(&BindAssistantSetupControllerRequestOnMainThread),
main_thread_task_runner);
registry->AddInterface( registry->AddInterface(
base::BindRepeating(&BindAssistantVolumeControlRequestOnMainThread), base::BindRepeating(&BindAssistantVolumeControlRequestOnMainThread),
main_thread_task_runner); main_thread_task_runner);
......
...@@ -22,14 +22,26 @@ interface AssistantController { ...@@ -22,14 +22,26 @@ interface AssistantController {
SetAssistantImageDownloader( SetAssistantImageDownloader(
AssistantImageDownloader assistant_image_downloader); AssistantImageDownloader assistant_image_downloader);
// Provides an interface to the |assistant_setup| owned by AssistantClient.
SetAssistantSetup(AssistantSetup assistant_setup);
// Requests screenshot of specified |rect| region and returns the screenshot
// encoded in JPEG format. If |rect| is empty, it returns fullscreen
// screenshot.
RequestScreenshot(gfx.mojom.Rect rect) => (array<uint8> screenshot);
// Opens Google Assistant settings. // Opens Google Assistant settings.
OpenAssistantSettings(); OpenAssistantSettings();
}; };
// Interface to the AssistantScreenContextController which is owned by the
// AssistantController. Currently used by the Assistant service to request
// screenshots.
interface AssistantScreenContextController {
// Requests a screenshot of the region enclosed by |rect| and returns the
// screenshot encoded in JPEG format. If |rect| is empty, it returns a
// fullscreen screenshot.
RequestScreenshot(gfx.mojom.Rect rect) => (array<uint8> screenshot);
};
// Interface to the AssistantSetupController which is owned by the
// AssistantController. Currently used by AssistantSetup in chrome/browser
// to provide an interface to itself. This is used for triggering a runtime
// onboarding flow.
interface AssistantSetupController {
// Provides an interface to the |assistant_setup| owned by AssistantClient
// in chrome/browser.
SetAssistantSetup(AssistantSetup assistant_setup);
};
\ No newline at end of file
...@@ -79,12 +79,12 @@ class AssistantHotwordNotificationDelegate ...@@ -79,12 +79,12 @@ class AssistantHotwordNotificationDelegate
AssistantSetup::AssistantSetup(service_manager::Connector* connector) AssistantSetup::AssistantSetup(service_manager::Connector* connector)
: connector_(connector), binding_(this) { : connector_(connector), binding_(this) {
// Bind to the Assistant controller in ash. // Bind to the AssistantSetupController in ash.
ash::mojom::AssistantControllerPtr assistant_controller; ash::mojom::AssistantSetupControllerPtr setup_controller;
connector_->BindInterface(ash::mojom::kServiceName, &assistant_controller); connector_->BindInterface(ash::mojom::kServiceName, &setup_controller);
ash::mojom::AssistantSetupPtr ptr; ash::mojom::AssistantSetupPtr ptr;
binding_.Bind(mojo::MakeRequest(&ptr)); binding_.Bind(mojo::MakeRequest(&ptr));
assistant_controller->SetAssistantSetup(std::move(ptr)); setup_controller->SetAssistantSetup(std::move(ptr));
arc::VoiceInteractionControllerClient::Get()->AddObserver(this); arc::VoiceInteractionControllerClient::Get()->AddObserver(this);
} }
......
...@@ -338,7 +338,7 @@ void AssistantManagerServiceImpl::StartMetalayerInteraction( ...@@ -338,7 +338,7 @@ void AssistantManagerServiceImpl::StartMetalayerInteraction(
if (!IsScreenContextAllowed(service_->assistant_state())) if (!IsScreenContextAllowed(service_->assistant_state()))
return; return;
service_->assistant_controller()->RequestScreenshot( service_->assistant_screen_context_controller()->RequestScreenshot(
region, region,
base::BindOnce(&AssistantManagerServiceImpl::SendScreenContextRequest, base::BindOnce(&AssistantManagerServiceImpl::SendScreenContextRequest,
weak_factory_.GetWeakPtr(), /*assistant_extra=*/nullptr, weak_factory_.GetWeakPtr(), /*assistant_extra=*/nullptr,
...@@ -1113,7 +1113,7 @@ void AssistantManagerServiceImpl::CacheScreenContext( ...@@ -1113,7 +1113,7 @@ void AssistantManagerServiceImpl::CacheScreenContext(
base::BindOnce(&AssistantManagerServiceImpl::CacheAssistantStructure, base::BindOnce(&AssistantManagerServiceImpl::CacheAssistantStructure,
weak_factory_.GetWeakPtr(), on_done)); weak_factory_.GetWeakPtr(), on_done));
service_->assistant_controller()->RequestScreenshot( service_->assistant_screen_context_controller()->RequestScreenshot(
gfx::Rect(), gfx::Rect(),
base::BindOnce(&AssistantManagerServiceImpl::CacheAssistantScreenshot, base::BindOnce(&AssistantManagerServiceImpl::CacheAssistantScreenshot,
weak_factory_.GetWeakPtr(), on_done)); weak_factory_.GetWeakPtr(), on_done));
......
...@@ -281,9 +281,6 @@ void Service::CreateAssistantManagerService() { ...@@ -281,9 +281,6 @@ void Service::CreateAssistantManagerService() {
service_binding_.GetConnector(), std::move(battery_monitor), this, service_binding_.GetConnector(), std::move(battery_monitor), this,
network_connection_tracker_); network_connection_tracker_);
// Bind to Assistant controller in ash.
service_binding_.GetConnector()->BindInterface(ash::mojom::kServiceName,
&assistant_controller_);
assistant_settings_manager_ = assistant_settings_manager_ =
assistant_manager_service_.get()->GetAssistantSettingsManager(); assistant_manager_service_.get()->GetAssistantSettingsManager();
#else #else
...@@ -298,10 +295,18 @@ void Service::FinalizeAssistantManagerService() { ...@@ -298,10 +295,18 @@ void Service::FinalizeAssistantManagerService() {
// Using session_observer_binding_ as a flag to control onetime initialization // Using session_observer_binding_ as a flag to control onetime initialization
if (!session_observer_binding_) { if (!session_observer_binding_) {
// Bind to the AssistantController in ash.
service_binding_.GetConnector()->BindInterface(ash::mojom::kServiceName,
&assistant_controller_);
mojom::AssistantPtr ptr; mojom::AssistantPtr ptr;
BindAssistantConnection(mojo::MakeRequest(&ptr)); BindAssistantConnection(mojo::MakeRequest(&ptr));
assistant_controller_->SetAssistant(std::move(ptr)); assistant_controller_->SetAssistant(std::move(ptr));
// Bind to the AssistantScreenContextController in ash.
service_binding_.GetConnector()->BindInterface(
ash::mojom::kServiceName, &assistant_screen_context_controller_);
registry_.AddInterface<mojom::Assistant>(base::BindRepeating( registry_.AddInterface<mojom::Assistant>(base::BindRepeating(
&Service::BindAssistantConnection, base::Unretained(this))); &Service::BindAssistantConnection, base::Unretained(this)));
......
...@@ -58,10 +58,18 @@ class Service : public service_manager::Service, ...@@ -58,10 +58,18 @@ class Service : public service_manager::Service,
~Service() override; ~Service() override;
mojom::Client* client() { return client_.get(); } mojom::Client* client() { return client_.get(); }
mojom::DeviceActions* device_actions() { return device_actions_.get(); } mojom::DeviceActions* device_actions() { return device_actions_.get(); }
ash::mojom::AssistantController* assistant_controller() { ash::mojom::AssistantController* assistant_controller() {
return assistant_controller_.get(); return assistant_controller_.get();
} }
ash::mojom::AssistantScreenContextController*
assistant_screen_context_controller() {
return assistant_screen_context_controller_.get();
}
ash::AssistantStateBase* assistant_state() { return &assistant_state_; } ash::AssistantStateBase* assistant_state() { return &assistant_state_; }
void RequestAccessToken(); void RequestAccessToken();
...@@ -155,6 +163,8 @@ class Service : public service_manager::Service, ...@@ -155,6 +163,8 @@ class Service : public service_manager::Service,
base::Optional<std::string> access_token_; base::Optional<std::string> access_token_;
ash::mojom::AssistantControllerPtr assistant_controller_; ash::mojom::AssistantControllerPtr assistant_controller_;
ash::mojom::AssistantScreenContextControllerPtr
assistant_screen_context_controller_;
ash::AssistantStateProxy assistant_state_; ash::AssistantStateProxy assistant_state_;
network::NetworkConnectionTracker* network_connection_tracker_; network::NetworkConnectionTracker* network_connection_tracker_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment