| Index: ash/system/audio/audio_detailed_view.cc
|
| diff --git a/ash/system/audio/audio_detailed_view.cc b/ash/system/audio/audio_detailed_view.cc
|
| index 2bcfc8b00f17f867832598513a239a629c96dd79..bf378b6d688b132be5c6fe21cadc9bfbfb08dd19 100644
|
| --- a/ash/system/audio/audio_detailed_view.cc
|
| +++ b/ash/system/audio/audio_detailed_view.cc
|
| @@ -13,10 +13,7 @@
|
| #include "chromeos/audio/cras_audio_handler.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/gfx/color_palette.h"
|
| -#include "ui/gfx/paint_vector_icon.h"
|
| -#include "ui/native_theme/native_theme.h"
|
| #include "ui/views/controls/image_view.h"
|
| -#include "ui/views/controls/label.h"
|
| #include "ui/views/controls/scroll_view.h"
|
| #include "ui/views/controls/separator.h"
|
|
|
| @@ -73,47 +70,10 @@ void AudioDetailedView::Update() {
|
| Layout();
|
| }
|
|
|
| -void AudioDetailedView::AddInputHeader() {
|
| - AddScrollListInfoItem(IDS_ASH_STATUS_TRAY_AUDIO_INPUT,
|
| - kSystemMenuAudioInputIcon);
|
| -}
|
| -
|
| -void AudioDetailedView::AddOutputHeader() {
|
| - AddScrollListInfoItem(IDS_ASH_STATUS_TRAY_AUDIO_OUTPUT,
|
| - kSystemMenuAudioOutputIcon);
|
| -}
|
| -
|
| -void AudioDetailedView::AddScrollListInfoItem(int text_id,
|
| - const gfx::VectorIcon& icon) {
|
| - TriView* header = TrayPopupUtils::CreateDefaultRowView();
|
| - TrayPopupUtils::ConfigureAsStickyHeader(header);
|
| - views::ImageView* image_view = TrayPopupUtils::CreateMainImageView();
|
| - image_view->SetImage(gfx::CreateVectorIcon(
|
| - icon, GetNativeTheme()->GetSystemColor(
|
| - ui::NativeTheme::kColorId_ProminentButtonColor)));
|
| - header->AddView(TriView::Container::START, image_view);
|
| -
|
| - views::Label* label = TrayPopupUtils::CreateDefaultLabel();
|
| - label->SetText(l10n_util::GetStringUTF16(text_id));
|
| - TrayPopupItemStyle style(TrayPopupItemStyle::FontStyle::SUB_HEADER);
|
| - style.SetupLabel(label);
|
| - header->AddView(TriView::Container::CENTER, label);
|
| -
|
| +void AudioDetailedView::AddAudioSubHeader(const gfx::VectorIcon& icon,
|
| + int text_id) {
|
| + TriView* header = AddScrollListSubHeader(icon, text_id);
|
| header->SetContainerVisible(TriView::Container::END, false);
|
| - scroll_content()->AddChildView(header);
|
| -}
|
| -
|
| -HoverHighlightView* AudioDetailedView::AddScrollListItem(
|
| - const base::string16& text,
|
| - bool highlight,
|
| - bool checked) {
|
| - HoverHighlightView* container = new HoverHighlightView(this);
|
| -
|
| - container->AddLabelRow(text);
|
| - TrayPopupUtils::InitializeAsCheckableRow(container, checked);
|
| -
|
| - scroll_content()->AddChildView(container);
|
| - return container;
|
| }
|
|
|
| void AudioDetailedView::CreateItems() {
|
| @@ -129,21 +89,20 @@ void AudioDetailedView::UpdateAudioDevices() {
|
| audio_handler->GetAudioDevices(&devices);
|
| bool has_dual_internal_mic = audio_handler->HasDualInternalMic();
|
| bool is_front_or_rear_mic_active = false;
|
| - for (size_t i = 0; i < devices.size(); ++i) {
|
| + for (const auto& device : devices) {
|
| // Don't display keyboard mic or aokr type.
|
| - if (!devices[i].is_for_simple_usage())
|
| + if (!device.is_for_simple_usage())
|
| continue;
|
| - if (devices[i].is_input) {
|
| + if (device.is_input) {
|
| // Do not expose the internal front and rear mic to UI.
|
| - if (has_dual_internal_mic &&
|
| - audio_handler->IsFrontOrRearMic(devices[i])) {
|
| - if (devices[i].active)
|
| + if (has_dual_internal_mic && audio_handler->IsFrontOrRearMic(device)) {
|
| + if (device.active)
|
| is_front_or_rear_mic_active = true;
|
| continue;
|
| }
|
| - input_devices_.push_back(devices[i]);
|
| + input_devices_.push_back(device);
|
| } else {
|
| - output_devices_.push_back(devices[i]);
|
| + output_devices_.push_back(device);
|
| }
|
| }
|
|
|
| @@ -168,14 +127,15 @@ void AudioDetailedView::UpdateScrollableList() {
|
|
|
| // Add audio output devices.
|
| const bool has_output_devices = output_devices_.size() > 0;
|
| - if (has_output_devices)
|
| - AddOutputHeader();
|
| -
|
| - for (size_t i = 0; i < output_devices_.size(); ++i) {
|
| - HoverHighlightView* container = AddScrollListItem(
|
| - GetAudioDeviceName(output_devices_[i]), false /* highlight */,
|
| - output_devices_[i].active); /* checkmark if active */
|
| - device_map_[container] = output_devices_[i];
|
| + if (has_output_devices) {
|
| + AddAudioSubHeader(kSystemMenuAudioOutputIcon,
|
| + IDS_ASH_STATUS_TRAY_AUDIO_OUTPUT);
|
| + }
|
| +
|
| + for (const auto& device : output_devices_) {
|
| + HoverHighlightView* container =
|
| + AddScrollListCheckableItem(GetAudioDeviceName(device), device.active);
|
| + device_map_[container] = device;
|
| }
|
|
|
| if (has_output_devices) {
|
| @@ -185,14 +145,15 @@ void AudioDetailedView::UpdateScrollableList() {
|
|
|
| // Add audio input devices.
|
| const bool has_input_devices = input_devices_.size() > 0;
|
| - if (has_input_devices)
|
| - AddInputHeader();
|
| -
|
| - for (size_t i = 0; i < input_devices_.size(); ++i) {
|
| - HoverHighlightView* container = AddScrollListItem(
|
| - GetAudioDeviceName(input_devices_[i]), false /* highlight */,
|
| - input_devices_[i].active); /* checkmark if active */
|
| - device_map_[container] = input_devices_[i];
|
| + if (has_input_devices) {
|
| + AddAudioSubHeader(kSystemMenuAudioInputIcon,
|
| + IDS_ASH_STATUS_TRAY_AUDIO_INPUT);
|
| + }
|
| +
|
| + for (const auto& device : input_devices_) {
|
| + HoverHighlightView* container =
|
| + AddScrollListCheckableItem(GetAudioDeviceName(device), device.active);
|
| + device_map_[container] = device;
|
| }
|
|
|
| scroll_content()->SizeToPreferredSize();
|
|
|