1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "ash/system/chromeos/audio/tray_audio_delegate_chromeos.h" 6 7#include "chromeos/audio/cras_audio_handler.h" 8#include "grit/ash_resources.h" 9 10using chromeos::CrasAudioHandler; 11 12namespace ash { 13namespace system { 14 15void TrayAudioDelegateChromeOs::AdjustOutputVolumeToAudibleLevel() { 16 CrasAudioHandler::Get()->AdjustOutputVolumeToAudibleLevel(); 17} 18 19int TrayAudioDelegateChromeOs::GetOutputDefaultVolumeMuteLevel() { 20 return CrasAudioHandler::Get()->GetOutputDefaultVolumeMuteThreshold(); 21} 22 23int TrayAudioDelegateChromeOs::GetOutputVolumeLevel() { 24 return CrasAudioHandler::Get()->GetOutputVolumePercent(); 25} 26 27int TrayAudioDelegateChromeOs::GetActiveOutputDeviceIconId() { 28 chromeos::AudioDevice device; 29 if (!CrasAudioHandler::Get()->GetPrimaryActiveOutputDevice(&device)) 30 return kNoAudioDeviceIcon; 31 32 if (device.type == chromeos::AUDIO_TYPE_HEADPHONE) 33 return IDR_AURA_UBER_TRAY_AUDIO_HEADPHONE; 34 else if (device.type == chromeos::AUDIO_TYPE_USB) 35 return IDR_AURA_UBER_TRAY_AUDIO_USB; 36 else if (device.type == chromeos::AUDIO_TYPE_BLUETOOTH) 37 return IDR_AURA_UBER_TRAY_AUDIO_BLUETOOTH; 38 else if (device.type == chromeos::AUDIO_TYPE_HDMI) 39 return IDR_AURA_UBER_TRAY_AUDIO_HDMI; 40 else 41 return kNoAudioDeviceIcon; 42} 43 44 45bool TrayAudioDelegateChromeOs::HasAlternativeSources() { 46 CrasAudioHandler* audio_handler = CrasAudioHandler::Get(); 47 return (audio_handler->has_alternative_output() || 48 audio_handler->has_alternative_input()); 49} 50 51bool TrayAudioDelegateChromeOs::IsOutputAudioMuted() { 52 return CrasAudioHandler::Get()->IsOutputMuted(); 53} 54 55void TrayAudioDelegateChromeOs::SetOutputAudioIsMuted(bool is_muted) { 56 CrasAudioHandler::Get()->SetOutputMute(is_muted); 57} 58 59void TrayAudioDelegateChromeOs::SetOutputVolumeLevel(int level) { 60 CrasAudioHandler::Get()->SetOutputVolumePercent(level); 61} 62 63} // namespace system 64} // namespace ash 65