Commit 8035c970 authored by Xiaohui Chen's avatar Xiaohui Chen Committed by Commit Bot

assistant: add default voice interaction observer

This is a refactor that simplifies using voice interaction observer

Bug: 870515
Test: locally compile and run
Change-Id: I60368068c1124e9f8d0a6901fff23c1eb5b05717
Reviewed-on: https://chromium-review.googlesource.com/c/1278862Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Reviewed-by: default avatarTao Wu <wutao@chromium.org>
Commit-Queue: Xiaohui Chen <xiaohuic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599345}
parent 2c485f8e
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "ash/app_list/presenter/app_list_presenter_impl.h" #include "ash/app_list/presenter/app_list_presenter_impl.h"
#include "ash/ash_export.h" #include "ash/ash_export.h"
#include "ash/public/cpp/app_list/app_list_constants.h" #include "ash/public/cpp/app_list/app_list_constants.h"
#include "ash/public/cpp/assistant/default_voice_interaction_observer.h"
#include "ash/public/interfaces/app_list.mojom.h" #include "ash/public/interfaces/app_list.mojom.h"
#include "ash/public/interfaces/voice_interaction_controller.mojom.h" #include "ash/public/interfaces/voice_interaction_controller.mojom.h"
#include "ash/session/session_observer.h" #include "ash/session/session_observer.h"
...@@ -56,7 +57,7 @@ class ASH_EXPORT AppListControllerImpl ...@@ -56,7 +57,7 @@ class ASH_EXPORT AppListControllerImpl
public TabletModeObserver, public TabletModeObserver,
public keyboard::KeyboardControllerObserver, public keyboard::KeyboardControllerObserver,
public WallpaperControllerObserver, public WallpaperControllerObserver,
public mojom::VoiceInteractionObserver { public DefaultVoiceInteractionObserver {
public: public:
using AppListItemMetadataPtr = mojom::AppListItemMetadataPtr; using AppListItemMetadataPtr = mojom::AppListItemMetadataPtr;
using SearchResultMetadataPtr = mojom::SearchResultMetadataPtr; using SearchResultMetadataPtr = mojom::SearchResultMetadataPtr;
...@@ -204,15 +205,9 @@ class ASH_EXPORT AppListControllerImpl ...@@ -204,15 +205,9 @@ class ASH_EXPORT AppListControllerImpl
void OnWallpaperPreviewEnded() override; void OnWallpaperPreviewEnded() override;
// mojom::VoiceInteractionObserver: // mojom::VoiceInteractionObserver:
void OnVoiceInteractionStatusChanged(
mojom::VoiceInteractionState state) override {}
void OnVoiceInteractionSettingsEnabled(bool enabled) override; void OnVoiceInteractionSettingsEnabled(bool enabled) override;
void OnVoiceInteractionContextEnabled(bool enabled) override {}
void OnVoiceInteractionHotwordEnabled(bool enabled) override {}
void OnVoiceInteractionSetupCompleted(bool completed) override {}
void OnAssistantFeatureAllowedChanged( void OnAssistantFeatureAllowedChanged(
mojom::AssistantAllowedState state) override; mojom::AssistantAllowedState state) override;
void OnLocaleChanged(const std::string& locale) override {}
bool onscreen_keyboard_shown() const { return onscreen_keyboard_shown_; } bool onscreen_keyboard_shown() const { return onscreen_keyboard_shown_; }
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "ash/assistant/assistant_controller_observer.h" #include "ash/assistant/assistant_controller_observer.h"
#include "ash/assistant/model/assistant_cache_model.h" #include "ash/assistant/model/assistant_cache_model.h"
#include "ash/assistant/model/assistant_ui_model_observer.h" #include "ash/assistant/model/assistant_ui_model_observer.h"
#include "ash/public/cpp/assistant/default_voice_interaction_observer.h"
#include "ash/public/interfaces/voice_interaction_controller.mojom.h" #include "ash/public/interfaces/voice_interaction_controller.mojom.h"
#include "base/macros.h" #include "base/macros.h"
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/binding.h"
...@@ -19,7 +20,7 @@ class AssistantController; ...@@ -19,7 +20,7 @@ class AssistantController;
class AssistantCacheController : public AssistantControllerObserver, class AssistantCacheController : public AssistantControllerObserver,
public AssistantUiModelObserver, public AssistantUiModelObserver,
public mojom::VoiceInteractionObserver { public DefaultVoiceInteractionObserver {
public: public:
explicit AssistantCacheController(AssistantController* assistant_controller); explicit AssistantCacheController(AssistantController* assistant_controller);
~AssistantCacheController() override; ~AssistantCacheController() override;
...@@ -41,16 +42,8 @@ class AssistantCacheController : public AssistantControllerObserver, ...@@ -41,16 +42,8 @@ class AssistantCacheController : public AssistantControllerObserver,
AssistantSource source) override; AssistantSource source) override;
private: private:
// mojom::VoiceInteractionObserver: // DefaultVoiceInteractionObserver:
void OnVoiceInteractionStatusChanged(
mojom::VoiceInteractionState state) override {}
void OnVoiceInteractionSettingsEnabled(bool enabled) override {}
void OnVoiceInteractionContextEnabled(bool enabled) override; void OnVoiceInteractionContextEnabled(bool enabled) override;
void OnVoiceInteractionHotwordEnabled(bool enabled) override {}
void OnVoiceInteractionSetupCompleted(bool completed) override {}
void OnAssistantFeatureAllowedChanged(
mojom::AssistantAllowedState state) override {}
void OnLocaleChanged(const std::string& locale) override {}
void UpdateConversationStarters(); void UpdateConversationStarters();
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "ash/accessibility/accessibility_observer.h" #include "ash/accessibility/accessibility_observer.h"
#include "ash/ash_export.h" #include "ash/ash_export.h"
#include "ash/assistant/assistant_controller_observer.h" #include "ash/assistant/assistant_controller_observer.h"
#include "ash/public/cpp/assistant/default_voice_interaction_observer.h"
#include "ash/public/interfaces/assistant_controller.mojom.h" #include "ash/public/interfaces/assistant_controller.mojom.h"
#include "ash/public/interfaces/assistant_image_downloader.mojom.h" #include "ash/public/interfaces/assistant_image_downloader.mojom.h"
#include "ash/public/interfaces/assistant_setup.mojom.h" #include "ash/public/interfaces/assistant_setup.mojom.h"
...@@ -45,7 +46,7 @@ class ASH_EXPORT AssistantController ...@@ -45,7 +46,7 @@ class ASH_EXPORT AssistantController
: public mojom::AssistantController, : public mojom::AssistantController,
public AssistantControllerObserver, public AssistantControllerObserver,
public mojom::ManagedWebContentsOpenUrlDelegate, public mojom::ManagedWebContentsOpenUrlDelegate,
public mojom::VoiceInteractionObserver, public DefaultVoiceInteractionObserver,
public mojom::AssistantVolumeControl, public mojom::AssistantVolumeControl,
public chromeos::CrasAudioHandler::AudioObserver, public chromeos::CrasAudioHandler::AudioObserver,
public AccessibilityObserver { public AccessibilityObserver {
...@@ -175,13 +176,6 @@ class ASH_EXPORT AssistantController ...@@ -175,13 +176,6 @@ class ASH_EXPORT AssistantController
// mojom::VoiceInteractionObserver: // mojom::VoiceInteractionObserver:
void OnVoiceInteractionStatusChanged( void OnVoiceInteractionStatusChanged(
mojom::VoiceInteractionState state) override; mojom::VoiceInteractionState state) override;
void OnVoiceInteractionSettingsEnabled(bool enabled) override {}
void OnVoiceInteractionContextEnabled(bool enabled) override {}
void OnVoiceInteractionHotwordEnabled(bool enabled) override {}
void OnVoiceInteractionSetupCompleted(bool completed) override {}
void OnAssistantFeatureAllowedChanged(
mojom::AssistantAllowedState state) override {}
void OnLocaleChanged(const std::string& locale) override {}
// The observer list should be initialized early so that sub-controllers may // The observer list should be initialized early so that sub-controllers may
// register as observers during their construction. // register as observers during their construction.
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <memory> #include <memory>
#include <string> #include <string>
#include "ash/public/cpp/assistant/default_voice_interaction_observer.h"
#include "ash/public/interfaces/voice_interaction_controller.mojom.h" #include "ash/public/interfaces/voice_interaction_controller.mojom.h"
#include "base/macros.h" #include "base/macros.h"
#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/binding_set.h"
...@@ -24,7 +25,7 @@ class AssistantOptInView; ...@@ -24,7 +25,7 @@ class AssistantOptInView;
class SuggestionContainerView; class SuggestionContainerView;
class AssistantFooterView : public views::View, class AssistantFooterView : public views::View,
mojom::VoiceInteractionObserver { DefaultVoiceInteractionObserver {
public: public:
explicit AssistantFooterView(AssistantController* assistant_controller); explicit AssistantFooterView(AssistantController* assistant_controller);
~AssistantFooterView() override; ~AssistantFooterView() override;
...@@ -35,15 +36,7 @@ class AssistantFooterView : public views::View, ...@@ -35,15 +36,7 @@ class AssistantFooterView : public views::View,
int GetHeightForWidth(int width) const override; int GetHeightForWidth(int width) const override;
// mojom::VoiceInteractionObserver: // mojom::VoiceInteractionObserver:
void OnVoiceInteractionStatusChanged(
mojom::VoiceInteractionState state) override {}
void OnVoiceInteractionSettingsEnabled(bool enabled) override {}
void OnVoiceInteractionContextEnabled(bool enabled) override {}
void OnVoiceInteractionHotwordEnabled(bool enabled) override {}
void OnVoiceInteractionSetupCompleted(bool completed) override; void OnVoiceInteractionSetupCompleted(bool completed) override;
void OnAssistantFeatureAllowedChanged(
mojom::AssistantAllowedState state) override {}
void OnLocaleChanged(const std::string& locale) override {}
private: private:
void InitLayout(); void InitLayout();
......
...@@ -47,6 +47,7 @@ component("cpp") { ...@@ -47,6 +47,7 @@ component("cpp") {
"ash_typography.cc", "ash_typography.cc",
"ash_typography.h", "ash_typography.h",
"ash_view_ids.h", "ash_view_ids.h",
"assistant/default_voice_interaction_observer.h",
"caption_buttons/caption_button_model.h", "caption_buttons/caption_button_model.h",
"caption_buttons/caption_button_types.h", "caption_buttons/caption_button_types.h",
"caption_buttons/frame_back_button.cc", "caption_buttons/frame_back_button.cc",
......
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ASH_PUBLIC_CPP_ASSISTANT_DEFAULT_VOICE_INTERACTION_OBSERVER_H_
#define ASH_PUBLIC_CPP_ASSISTANT_DEFAULT_VOICE_INTERACTION_OBSERVER_H_
#include <string>
#include "ash/public/interfaces/voice_interaction_controller.mojom.h"
#include "base/macros.h"
namespace ash {
// Provides a default empty implementation of
// ash::mojom::VoiceInteractionObserver interface. Child class only need to
// override the methods they are actually interested in.
class ASH_PUBLIC_EXPORT DefaultVoiceInteractionObserver
: public mojom::VoiceInteractionObserver {
public:
~DefaultVoiceInteractionObserver() override = default;
// mojom::VoiceInteractionObserver:
void OnVoiceInteractionStatusChanged(
ash::mojom::VoiceInteractionState state) override {}
void OnVoiceInteractionSettingsEnabled(bool enabled) override {}
void OnVoiceInteractionContextEnabled(bool enabled) override {}
void OnVoiceInteractionHotwordEnabled(bool enabled) override {}
void OnVoiceInteractionSetupCompleted(bool completed) override {}
void OnAssistantFeatureAllowedChanged(
ash::mojom::AssistantAllowedState state) override {}
void OnLocaleChanged(const std::string& locale) override {}
protected:
DefaultVoiceInteractionObserver() = default;
private:
DISALLOW_COPY_AND_ASSIGN(DefaultVoiceInteractionObserver);
};
} // namespace ash
#endif // ASH_PUBLIC_CPP_ASSISTANT_DEFAULT_VOICE_INTERACTION_OBSERVER_H_
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <memory> #include <memory>
#include "ash/ash_export.h" #include "ash/ash_export.h"
#include "ash/public/cpp/assistant/default_voice_interaction_observer.h"
#include "ash/public/interfaces/voice_interaction_controller.mojom.h" #include "ash/public/interfaces/voice_interaction_controller.mojom.h"
#include "ash/session/session_observer.h" #include "ash/session/session_observer.h"
#include "ash/shell_observer.h" #include "ash/shell_observer.h"
...@@ -31,7 +32,7 @@ class ShelfView; ...@@ -31,7 +32,7 @@ class ShelfView;
class ASH_EXPORT AppListButton : public views::ImageButton, class ASH_EXPORT AppListButton : public views::ImageButton,
public ShellObserver, public ShellObserver,
public SessionObserver, public SessionObserver,
public mojom::VoiceInteractionObserver { public DefaultVoiceInteractionObserver {
public: public:
AppListButton(InkDropButtonListener* listener, AppListButton(InkDropButtonListener* listener,
ShelfView* shelf_view, ShelfView* shelf_view,
...@@ -73,12 +74,7 @@ class ASH_EXPORT AppListButton : public views::ImageButton, ...@@ -73,12 +74,7 @@ class ASH_EXPORT AppListButton : public views::ImageButton,
void OnVoiceInteractionStatusChanged( void OnVoiceInteractionStatusChanged(
mojom::VoiceInteractionState state) override; mojom::VoiceInteractionState state) override;
void OnVoiceInteractionSettingsEnabled(bool enabled) override; void OnVoiceInteractionSettingsEnabled(bool enabled) override;
void OnVoiceInteractionContextEnabled(bool enabled) override {}
void OnVoiceInteractionHotwordEnabled(bool enabled) override {}
void OnVoiceInteractionSetupCompleted(bool completed) override; void OnVoiceInteractionSetupCompleted(bool completed) override;
void OnAssistantFeatureAllowedChanged(
mojom::AssistantAllowedState state) override {}
void OnLocaleChanged(const std::string& locale) override {}
// SessionObserver: // SessionObserver:
void OnActiveUserSessionChanged(const AccountId& account_id) override; void OnActiveUserSessionChanged(const AccountId& account_id) override;
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "ash/ash_export.h" #include "ash/ash_export.h"
#include "ash/highlighter/highlighter_controller.h" #include "ash/highlighter/highlighter_controller.h"
#include "ash/public/cpp/assistant/default_voice_interaction_observer.h"
#include "ash/public/interfaces/voice_interaction_controller.mojom.h" #include "ash/public/interfaces/voice_interaction_controller.mojom.h"
#include "ash/system/palette/common_palette_tool.h" #include "ash/system/palette/common_palette_tool.h"
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
...@@ -21,7 +22,7 @@ namespace ash { ...@@ -21,7 +22,7 @@ namespace ash {
// menu, but also by the stylus button click. // menu, but also by the stylus button click.
class ASH_EXPORT MetalayerMode : public CommonPaletteTool, class ASH_EXPORT MetalayerMode : public CommonPaletteTool,
public ui::EventHandler, public ui::EventHandler,
public mojom::VoiceInteractionObserver, public DefaultVoiceInteractionObserver,
public HighlighterController::Observer { public HighlighterController::Observer {
public: public:
explicit MetalayerMode(Delegate* delegate); explicit MetalayerMode(Delegate* delegate);
...@@ -68,11 +69,8 @@ class ASH_EXPORT MetalayerMode : public CommonPaletteTool, ...@@ -68,11 +69,8 @@ class ASH_EXPORT MetalayerMode : public CommonPaletteTool,
mojom::VoiceInteractionState state) override; mojom::VoiceInteractionState state) override;
void OnVoiceInteractionSettingsEnabled(bool enabled) override; void OnVoiceInteractionSettingsEnabled(bool enabled) override;
void OnVoiceInteractionContextEnabled(bool enabled) override; void OnVoiceInteractionContextEnabled(bool enabled) override;
void OnVoiceInteractionHotwordEnabled(bool enabled) override {}
void OnVoiceInteractionSetupCompleted(bool completed) override {}
void OnAssistantFeatureAllowedChanged( void OnAssistantFeatureAllowedChanged(
mojom::AssistantAllowedState state) override; mojom::AssistantAllowedState state) override;
void OnLocaleChanged(const std::string& locale) override {}
// HighlighterController::Observer: // HighlighterController::Observer:
void OnHighlighterEnabledChanged(HighlighterEnabledState state) override; void OnHighlighterEnabledChanged(HighlighterEnabledState state) override;
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "ash/public/cpp/assistant/default_voice_interaction_observer.h"
#include "ash/public/interfaces/ash_message_center_controller.mojom.h" #include "ash/public/interfaces/ash_message_center_controller.mojom.h"
#include "ash/public/interfaces/assistant_controller.mojom.h" #include "ash/public/interfaces/assistant_controller.mojom.h"
#include "ash/public/interfaces/voice_interaction_controller.mojom.h" #include "ash/public/interfaces/voice_interaction_controller.mojom.h"
...@@ -54,7 +55,7 @@ class AssistantManagerServiceImpl ...@@ -54,7 +55,7 @@ class AssistantManagerServiceImpl
public AssistantEventObserver, public AssistantEventObserver,
public assistant_client::ConversationStateListener, public assistant_client::ConversationStateListener,
public assistant_client::AssistantManagerDelegate, public assistant_client::AssistantManagerDelegate,
public ash::mojom::VoiceInteractionObserver, public ash::DefaultVoiceInteractionObserver,
public assistant_client::DeviceStateListener { public assistant_client::DeviceStateListener {
public: public:
// |service| owns this class and must outlive this class. // |service| owns this class and must outlive this class.
...@@ -133,15 +134,9 @@ class AssistantManagerServiceImpl ...@@ -133,15 +134,9 @@ class AssistantManagerServiceImpl
std::string GetLastSearchSource() override; std::string GetLastSearchSource() override;
// ash::mojom::VoiceInteractionObserver: // ash::mojom::VoiceInteractionObserver:
void OnVoiceInteractionStatusChanged(
ash::mojom::VoiceInteractionState state) override {}
void OnVoiceInteractionSettingsEnabled(bool enabled) override; void OnVoiceInteractionSettingsEnabled(bool enabled) override;
void OnVoiceInteractionContextEnabled(bool enabled) override; void OnVoiceInteractionContextEnabled(bool enabled) override;
void OnVoiceInteractionHotwordEnabled(bool enabled) override; void OnVoiceInteractionHotwordEnabled(bool enabled) override;
void OnVoiceInteractionSetupCompleted(bool completed) override {}
void OnAssistantFeatureAllowedChanged(
ash::mojom::AssistantAllowedState state) override {}
void OnLocaleChanged(const std::string& locale) override {}
// assistant_client::DeviceStateListener overrides: // assistant_client::DeviceStateListener overrides:
void OnStartFinished() override; void OnStartFinished() override;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <memory> #include <memory>
#include <string> #include <string>
#include "ash/public/cpp/assistant/default_voice_interaction_observer.h"
#include "ash/public/interfaces/assistant_controller.mojom.h" #include "ash/public/interfaces/assistant_controller.mojom.h"
#include "ash/public/interfaces/session_controller.mojom.h" #include "ash/public/interfaces/session_controller.mojom.h"
#include "ash/public/interfaces/voice_interaction_controller.mojom.h" #include "ash/public/interfaces/voice_interaction_controller.mojom.h"
...@@ -47,7 +48,7 @@ class Service : public service_manager::Service, ...@@ -47,7 +48,7 @@ class Service : public service_manager::Service,
public chromeos::PowerManagerClient::Observer, public chromeos::PowerManagerClient::Observer,
public ash::mojom::SessionActivationObserver, public ash::mojom::SessionActivationObserver,
public mojom::AssistantPlatform, public mojom::AssistantPlatform,
public ash::mojom::VoiceInteractionObserver { public ash::DefaultVoiceInteractionObserver {
public: public:
explicit Service( explicit Service(
network::NetworkConnectionTracker* network_connection_tracker); network::NetworkConnectionTracker* network_connection_tracker);
...@@ -91,15 +92,8 @@ class Service : public service_manager::Service, ...@@ -91,15 +92,8 @@ class Service : public service_manager::Service,
void OnLockStateChanged(bool locked) override; void OnLockStateChanged(bool locked) override;
// ash::mojom::VoiceInteractionObserver: // ash::mojom::VoiceInteractionObserver:
void OnVoiceInteractionStatusChanged(
ash::mojom::VoiceInteractionState state) override {}
void OnVoiceInteractionSettingsEnabled(bool enabled) override; void OnVoiceInteractionSettingsEnabled(bool enabled) override;
void OnVoiceInteractionContextEnabled(bool enabled) override {}
void OnVoiceInteractionHotwordEnabled(bool enabled) override; void OnVoiceInteractionHotwordEnabled(bool enabled) override;
void OnVoiceInteractionSetupCompleted(bool completed) override {}
void OnAssistantFeatureAllowedChanged(
ash::mojom::AssistantAllowedState state) override {}
void OnLocaleChanged(const std::string& locale) override {}
void BindAssistantSettingsManager( void BindAssistantSettingsManager(
mojom::AssistantSettingsManagerRequest request); mojom::AssistantSettingsManagerRequest request);
......
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