| // Copyright 2019 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "ash/ambient/ui/ambient_container_view.h" |
| |
| #include <memory> |
| #include <utility> |
| |
| #include "ash/ambient/ambient_ui_settings.h" |
| #include "ash/ambient/metrics/ambient_metrics.h" |
| #include "ash/ambient/resources/ambient_animation_static_resources.h" |
| #include "ash/ambient/ui/ambient_animation_view.h" |
| #include "ash/ambient/ui/ambient_view_ids.h" |
| #include "base/check.h" |
| #include "ui/base/metadata/metadata_impl_macros.h" |
| #include "ui/views/background.h" |
| #include "ui/views/layout/fill_layout.h" |
| #include "ui/views/view.h" |
| #include "ui/views/widget/widget.h" |
| |
| namespace ash { |
| |
| AmbientContainerView::AmbientContainerView( |
| AmbientUiSettings ui_settings, |
| std::unique_ptr<views::View> main_rendering_view) { |
| CHECK(main_rendering_view); |
| InitializeCommonSettings(); |
| // Set up metrics common to all ambient UIs. |
| orientation_metrics_recorder_ = |
| std::make_unique<ambient::AmbientOrientationMetricsRecorder>( |
| main_rendering_view.get(), std::move(ui_settings)); |
| AddChildView(std::move(main_rendering_view)); |
| } |
| |
| AmbientContainerView::~AmbientContainerView() = default; |
| |
| void AmbientContainerView::InitializeCommonSettings() { |
| SetID(AmbientViewID::kAmbientContainerView); |
| // TODO(b/139954108): Choose a better dark mode theme color. |
| SetBackground(views::CreateSolidBackground(SK_ColorBLACK)); |
| SetLayoutManager(std::make_unique<views::FillLayout>()); |
| } |
| |
| BEGIN_METADATA(AmbientContainerView) |
| END_METADATA |
| |
| } // namespace ash |