| Index: ash/shelf/voice_interaction_overlay.h
|
| diff --git a/ash/shelf/voice_interaction_overlay.h b/ash/shelf/voice_interaction_overlay.h
|
| index 304eba11ebfd4478c3a44cb0d032861c727bcb6f..5f96fc76f587d183041a0b5e1e58751d0c1c2bf7 100644
|
| --- a/ash/shelf/voice_interaction_overlay.h
|
| +++ b/ash/shelf/voice_interaction_overlay.h
|
| @@ -13,23 +13,33 @@
|
| #include "ui/views/animation/ink_drop_painted_layer_delegates.h"
|
| #include "ui/views/view.h"
|
|
|
| +namespace ui {
|
| +class CallbackLayerAnimationObserver;
|
| +} // namespace ui
|
| +
|
| namespace ash {
|
|
|
| class AppListButton;
|
| +class VoiceInteractionIconBackground;
|
|
|
| class ASH_EXPORT VoiceInteractionOverlay : public views::View {
|
| public:
|
| explicit VoiceInteractionOverlay(AppListButton* host_view);
|
| ~VoiceInteractionOverlay() override;
|
|
|
| - void StartAnimation();
|
| + void StartAnimation(bool show_icon);
|
| void EndAnimation();
|
| void BurstAnimation();
|
| + void HideAnimation();
|
| + bool IsBursting() const { return is_bursting_; }
|
|
|
| private:
|
| + bool AnimationEndedCallback(
|
| + const ui::CallbackLayerAnimationObserver& observer);
|
| +
|
| std::unique_ptr<ui::Layer> ripple_layer_;
|
| std::unique_ptr<ui::Layer> icon_layer_;
|
| - std::unique_ptr<ui::Layer> background_layer_;
|
| + std::unique_ptr<VoiceInteractionIconBackground> background_layer_;
|
|
|
| AppListButton* host_view_;
|
|
|
| @@ -37,6 +47,13 @@ class ASH_EXPORT VoiceInteractionOverlay : public views::View {
|
| // turning back.
|
| bool is_bursting_;
|
|
|
| + // Whether showing the icon animation or not.
|
| + bool show_icon_;
|
| +
|
| + // Whether we should hide the burst animation when the animation ends. This is
|
| + // used to synchronize the animation and the underlying window's appearance.
|
| + bool should_hide_animation_;
|
| +
|
| views::CircleLayerDelegate circle_layer_delegate_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(VoiceInteractionOverlay);
|
|
|