Index: ash/system/audio/tray_volume.cc |
diff --git a/ash/system/audio/tray_volume.cc b/ash/system/audio/tray_volume.cc |
index 7b32718f5935f09fb899c502b673b00d09fe4602..e2025a5443726feb0e9c05e078b295bacc885178 100644 |
--- a/ash/system/audio/tray_volume.cc |
+++ b/ash/system/audio/tray_volume.cc |
@@ -10,6 +10,7 @@ |
#include "ash/system/tray/system_tray_delegate.h" |
#include "ash/system/tray/tray_constants.h" |
#include "ash/system/tray/tray_views.h" |
+#include "ash/volume_control_delegate.h" |
#include "base/utf_string_conversions.h" |
#include "grit/ash_strings.h" |
#include "grit/ui_resources.h" |
@@ -39,8 +40,19 @@ const int kVolumeImageHeight = 25; |
// The one for mute is at the 0 index and the other |
// four are used for ascending volume levels. |
const int kVolumeLevels = 4; |
+ |
+bool IsAudioMuted() { |
+ return Shell::GetInstance()->tray_delegate()-> |
+ GetVolumeControlDelegate()->IsAudioMuted(); |
+} |
+ |
+float GetVolumeLevel() { |
+ return Shell::GetInstance()->tray_delegate()-> |
+ GetVolumeControlDelegate()->GetVolumeLevel(); |
} |
+} // namespace |
+ |
namespace tray { |
class VolumeButton : public views::ToggleImageButton { |
@@ -58,10 +70,8 @@ class VolumeButton : public views::ToggleImageButton { |
virtual ~VolumeButton() {} |
void Update() { |
- ash::SystemTrayDelegate* delegate = |
- ash::Shell::GetInstance()->tray_delegate(); |
- float level = delegate->GetVolumeLevel(); |
- int image_index = delegate->IsAudioMuted() ? |
+ float level = GetVolumeLevel(); |
+ int image_index = IsAudioMuted() ? |
0 : (level == 1.0 ? |
kVolumeLevels : |
std::max(1, int(std::ceil(level * (kVolumeLevels - 1))))); |
@@ -101,9 +111,7 @@ class MuteButton : public ash::internal::TrayBarButtonWithTitle { |
virtual ~MuteButton() {} |
void Update() { |
- ash::SystemTrayDelegate* delegate = |
- ash::Shell::GetInstance()->tray_delegate(); |
- UpdateButton(delegate->IsAudioMuted()); |
+ UpdateButton(IsAudioMuted()); |
SchedulePaint(); |
} |
@@ -115,7 +123,7 @@ class VolumeSlider : public views::Slider { |
explicit VolumeSlider(views::SliderListener* listener) |
: views::Slider(listener, views::Slider::HORIZONTAL) { |
set_focus_border_color(kFocusBorderColor); |
- SetValue(ash::Shell::GetInstance()->tray_delegate()->GetVolumeLevel()); |
+ SetValue(GetVolumeLevel()); |
SetAccessibleName( |
ui::ResourceBundle::GetSharedInstance().GetLocalizedString( |
IDS_ASH_STATUS_TRAY_VOLUME)); |
@@ -124,7 +132,7 @@ class VolumeSlider : public views::Slider { |
virtual ~VolumeSlider() {} |
void Update() { |
- UpdateState(!ash::Shell::GetInstance()->tray_delegate()->IsAudioMuted()); |
+ UpdateState(!IsAudioMuted()); |
} |
DISALLOW_COPY_AND_ASSIGN(VolumeSlider); |
@@ -179,9 +187,8 @@ class VolumeView : public views::View, |
virtual void ButtonPressed(views::Button* sender, |
const ui::Event& event) OVERRIDE { |
CHECK(sender == icon_ || sender == mute_); |
- ash::SystemTrayDelegate* delegate = |
- ash::Shell::GetInstance()->tray_delegate(); |
- delegate->SetAudioMuted(!delegate->IsAudioMuted()); |
+ ash::Shell::GetInstance()->tray_delegate()-> |
+ GetVolumeControlDelegate()->SetAudioMuted(!IsAudioMuted()); |
} |
// Overridden from views:SliderListener. |
@@ -190,9 +197,8 @@ class VolumeView : public views::View, |
float old_value, |
views::SliderChangeReason reason) OVERRIDE { |
if (reason == views::VALUE_CHANGED_BY_USER) { |
- ash::SystemTrayDelegate* delegate = |
- ash::Shell::GetInstance()->tray_delegate(); |
- delegate->SetVolumeLevel(value); |
+ ash::Shell::GetInstance()->tray_delegate()-> |
+ GetVolumeControlDelegate()->SetVolumeLevel(value); |
} |
icon_->Update(); |
} |
@@ -216,9 +222,7 @@ TrayVolume::~TrayVolume() { |
} |
bool TrayVolume::GetInitialVisibility() { |
- ash::SystemTrayDelegate* delegate = |
- ash::Shell::GetInstance()->tray_delegate(); |
- return delegate->IsAudioMuted(); |
+ return IsAudioMuted(); |
} |
views::View* TrayVolume::CreateDefaultView(user::LoginStatus status) { |
@@ -248,7 +252,7 @@ void TrayVolume::OnVolumeChanged(float percent) { |
tray_view()->SetVisible(GetInitialVisibility()); |
if (volume_view_) { |
- if (ash::Shell::GetInstance()->tray_delegate()->IsAudioMuted()) |
+ if (IsAudioMuted()) |
percent = 0.0; |
volume_view_->SetVolumeLevel(percent); |
SetDetailedViewCloseDelay(kTrayPopupAutoCloseDelayInSeconds); |