Commit c853a348 authored by Henrique Ferreiro's avatar Henrique Ferreiro Committed by Commit Bot

Migrate assistant_controller.mojom to the new Mojo types

Convert the implementation and all users of the
ash::mojom::AssistantAlarmTimerController,
AssistantNotificationController and AssistantScreenContextController.

Bug: 955171
Change-Id: I19142850f1cd445f6d43a4caf4c7bd88415680c9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1789386Reviewed-by: default avatarScott Violet <sky@chromium.org>
Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#694846}
parent 048ecca8
......@@ -11,11 +11,14 @@
#include "ash/assistant/assistant_controller.h"
#include "ash/assistant/assistant_notification_controller.h"
#include "ash/assistant/util/deep_link_util.h"
#include "ash/public/mojom/assistant_controller.mojom.h"
#include "ash/strings/grit/ash_strings.h"
#include "base/i18n/message_formatter.h"
#include "base/strings/utf_string_conversions.h"
#include "chromeos/services/assistant/public/features.h"
#include "chromeos/services/assistant/public/mojom/assistant.mojom.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "ui/base/l10n/l10n_util.h"
namespace ash {
......@@ -137,7 +140,7 @@ chromeos::assistant::mojom::AssistantNotificationPtr CreateTimerNotification(
AssistantAlarmTimerController::AssistantAlarmTimerController(
AssistantController* assistant_controller)
: assistant_controller_(assistant_controller), binding_(this) {
: assistant_controller_(assistant_controller) {
AddModelObserver(this);
assistant_controller_->AddObserver(this);
}
......@@ -147,10 +150,10 @@ AssistantAlarmTimerController::~AssistantAlarmTimerController() {
RemoveModelObserver(this);
}
void AssistantAlarmTimerController::BindRequest(
mojom::AssistantAlarmTimerControllerRequest request) {
void AssistantAlarmTimerController::BindReceiver(
mojo::PendingReceiver<mojom::AssistantAlarmTimerController> receiver) {
DCHECK(chromeos::assistant::features::IsTimerNotificationEnabled());
binding_.Bind(std::move(request));
receiver_.Bind(std::move(receiver));
}
void AssistantAlarmTimerController::AddModelObserver(
......
......@@ -5,6 +5,9 @@
#ifndef ASH_ASSISTANT_ASSISTANT_ALARM_TIMER_CONTROLLER_H_
#define ASH_ASSISTANT_ASSISTANT_ALARM_TIMER_CONTROLLER_H_
#include <map>
#include <string>
#include "ash/assistant/assistant_controller_observer.h"
#include "ash/assistant/model/assistant_alarm_timer_model.h"
#include "ash/assistant/model/assistant_alarm_timer_model_observer.h"
......@@ -13,7 +16,8 @@
#include "base/macros.h"
#include "base/timer/timer.h"
#include "chromeos/services/assistant/public/mojom/assistant.mojom.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
namespace ash {
......@@ -37,7 +41,8 @@ class AssistantAlarmTimerController
AssistantController* assistant_controller);
~AssistantAlarmTimerController() override;
void BindRequest(mojom::AssistantAlarmTimerControllerRequest request);
void BindReceiver(
mojo::PendingReceiver<mojom::AssistantAlarmTimerController> receiver);
// Returns the underlying model.
const AssistantAlarmTimerModel* model() const { return &model_; }
......@@ -84,7 +89,7 @@ class AssistantAlarmTimerController
AssistantController* const assistant_controller_; // Owned by Shell.
mojo::Binding<mojom::AssistantAlarmTimerController> binding_;
mojo::Receiver<mojom::AssistantAlarmTimerController> receiver_{this};
AssistantAlarmTimerModel model_;
......
......@@ -342,13 +342,13 @@ void AssistantController::BindController(
void AssistantController::BindAlarmTimerController(
mojo::PendingReceiver<mojom::AssistantAlarmTimerController> receiver) {
Shell::Get()->assistant_controller()->alarm_timer_controller()->BindRequest(
Shell::Get()->assistant_controller()->alarm_timer_controller()->BindReceiver(
std::move(receiver));
}
void AssistantController::BindNotificationController(
mojo::PendingReceiver<mojom::AssistantNotificationController> receiver) {
Shell::Get()->assistant_controller()->notification_controller()->BindRequest(
Shell::Get()->assistant_controller()->notification_controller()->BindReceiver(
std::move(receiver));
}
......@@ -357,7 +357,7 @@ void AssistantController::BindScreenContextController(
Shell::Get()
->assistant_controller()
->screen_context_controller()
->BindRequest(std::move(receiver));
->BindReceiver(std::move(receiver));
}
void AssistantController::BindStateController(
......
......@@ -12,9 +12,12 @@
#include "ash/assistant/util/deep_link_util.h"
#include "ash/public/cpp/notification_utils.h"
#include "ash/public/cpp/vector_icons/vector_icons.h"
#include "ash/public/mojom/assistant_controller.mojom.h"
#include "ash/shell.h"
#include "ash/strings/grit/ash_strings.h"
#include "base/strings/utf_string_conversions.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/message_center/message_center.h"
#include "ui/message_center/public/cpp/notification.h"
......@@ -79,7 +82,6 @@ bool IsValidActionUrl(const GURL& action_url) {
AssistantNotificationController::AssistantNotificationController(
AssistantController* assistant_controller)
: assistant_controller_(assistant_controller),
binding_(this),
expiry_monitor_(this),
notifier_id_(GetNotifierId()) {
AddModelObserver(this);
......@@ -93,9 +95,9 @@ AssistantNotificationController::~AssistantNotificationController() {
RemoveModelObserver(this);
}
void AssistantNotificationController::BindRequest(
mojom::AssistantNotificationControllerRequest request) {
binding_.Bind(std::move(request));
void AssistantNotificationController::BindReceiver(
mojo::PendingReceiver<mojom::AssistantNotificationController> receiver) {
receiver_.Bind(std::move(receiver));
}
void AssistantNotificationController::AddModelObserver(
......
......@@ -16,7 +16,8 @@
#include "ash/public/mojom/assistant_controller.mojom.h"
#include "base/macros.h"
#include "chromeos/services/assistant/public/mojom/assistant.mojom.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "ui/message_center/message_center_observer.h"
#include "ui/message_center/public/cpp/notifier_id.h"
......@@ -43,7 +44,8 @@ class ASH_EXPORT AssistantNotificationController
AssistantController* assistant_controller);
~AssistantNotificationController() override;
void BindRequest(mojom::AssistantNotificationControllerRequest request);
void BindReceiver(
mojo::PendingReceiver<mojom::AssistantNotificationController> receiver);
// Returns the underlying model.
const AssistantNotificationModel* model() const { return &model_; }
......@@ -95,7 +97,7 @@ class ASH_EXPORT AssistantNotificationController
private:
AssistantController* const assistant_controller_; // Owned by Shell.
mojo::Binding<mojom::AssistantNotificationController> binding_;
mojo::Receiver<mojom::AssistantNotificationController> receiver_{this};
AssistantNotificationModel model_;
AssistantNotificationExpiryMonitor expiry_monitor_;
......
......@@ -12,12 +12,15 @@
#include "ash/assistant/assistant_ui_controller.h"
#include "ash/public/cpp/shell_window_ids.h"
#include "ash/public/cpp/window_properties.h"
#include "ash/public/mojom/assistant_controller.mojom.h"
#include "ash/shell.h"
#include "ash/wm/mru_window_tracker.h"
#include "base/bind.h"
#include "base/memory/scoped_refptr.h"
#include "base/stl_util.h"
#include "base/task/post_task.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "ui/aura/client/aura_constants.h"
#include "ui/compositor/layer_tree_owner.h"
#include "ui/gfx/codec/jpeg_codec.h"
......@@ -160,7 +163,7 @@ std::unique_ptr<ui::LayerTreeOwner> CreateLayerForAssistantSnapshot(
AssistantScreenContextController::AssistantScreenContextController(
AssistantController* assistant_controller)
: assistant_controller_(assistant_controller), binding_(this) {
: assistant_controller_(assistant_controller) {
assistant_controller_->AddObserver(this);
}
......@@ -168,9 +171,9 @@ AssistantScreenContextController::~AssistantScreenContextController() {
assistant_controller_->RemoveObserver(this);
}
void AssistantScreenContextController::BindRequest(
mojom::AssistantScreenContextControllerRequest request) {
binding_.Bind(std::move(request));
void AssistantScreenContextController::BindReceiver(
mojo::PendingReceiver<mojom::AssistantScreenContextController> receiver) {
receiver_.Bind(std::move(receiver));
}
void AssistantScreenContextController::SetAssistant(
......
......@@ -14,7 +14,8 @@
#include "ash/public/mojom/assistant_controller.mojom.h"
#include "base/macros.h"
#include "chromeos/services/assistant/public/mojom/assistant.mojom.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "ui/gfx/geometry/rect.h"
namespace ui {
......@@ -35,7 +36,8 @@ class ASH_EXPORT AssistantScreenContextController
AssistantController* assistant_controller);
~AssistantScreenContextController() override;
void BindRequest(mojom::AssistantScreenContextControllerRequest request);
void BindReceiver(
mojo::PendingReceiver<mojom::AssistantScreenContextController> receiver);
// Provides a pointer to the |assistant| owned by AssistantController.
void SetAssistant(chromeos::assistant::mojom::Assistant* assistant);
......@@ -72,7 +74,7 @@ class ASH_EXPORT AssistantScreenContextController
private:
AssistantController* const assistant_controller_; // Owned by Shell.
mojo::Binding<mojom::AssistantScreenContextController> binding_;
mojo::Receiver<mojom::AssistantScreenContextController> receiver_{this};
// Owned by AssistantController.
chromeos::assistant::mojom::Assistant* assistant_ = nullptr;
......
......@@ -419,16 +419,16 @@ void Service::FinalizeAssistantManagerService() {
if (features::IsTimerNotificationEnabled()) {
// Bind to the AssistantAlarmTimerController in ash.
client_->RequestAssistantAlarmTimerController(
mojo::MakeRequest(&assistant_alarm_timer_controller_));
assistant_alarm_timer_controller_.BindNewPipeAndPassReceiver());
}
// Bind to the AssistantNotificationController in ash.
client_->RequestAssistantNotificationController(
mojo::MakeRequest(&assistant_notification_controller_));
assistant_notification_controller_.BindNewPipeAndPassReceiver());
// Bind to the AssistantScreenContextController in ash.
client_->RequestAssistantScreenContextController(
mojo::MakeRequest(&assistant_screen_context_controller_));
assistant_screen_context_controller_.BindNewPipeAndPassReceiver());
AddAshSessionObserver();
}
......
......@@ -28,6 +28,7 @@
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/identity/public/mojom/identity_accessor.mojom.h"
class GoogleServiceAuthError;
......@@ -205,11 +206,11 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) Service
mojom::AssistantControllerPtr assistant_controller_;
ash::mojom::AssistantAlarmTimerControllerPtr
mojo::Remote<ash::mojom::AssistantAlarmTimerController>
assistant_alarm_timer_controller_;
ash::mojom::AssistantNotificationControllerPtr
mojo::Remote<ash::mojom::AssistantNotificationController>
assistant_notification_controller_;
ash::mojom::AssistantScreenContextControllerPtr
mojo::Remote<ash::mojom::AssistantScreenContextController>
assistant_screen_context_controller_;
AssistantStateProxy assistant_state_;
......
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