mirror of
https://github.com/home-assistant/core.git
synced 2025-07-26 22:57:17 +00:00
Use attributes in demo media-player (#78461)
* Use attributes in demo media-player * Use _attr_is_volume_muted * Use _attr_shuffle * Use _attr_sound_mode / _attr_sound_mode_list
This commit is contained in:
parent
047c3862d7
commit
be17ba15db
@ -105,6 +105,7 @@ NETFLIX_PLAYER_SUPPORT = (
|
|||||||
class AbstractDemoPlayer(MediaPlayerEntity):
|
class AbstractDemoPlayer(MediaPlayerEntity):
|
||||||
"""A demo media players."""
|
"""A demo media players."""
|
||||||
|
|
||||||
|
_attr_sound_mode_list = SOUND_MODE_LIST
|
||||||
_attr_should_poll = False
|
_attr_should_poll = False
|
||||||
|
|
||||||
# We only implement the methods that we support
|
# We only implement the methods that we support
|
||||||
@ -115,38 +116,12 @@ class AbstractDemoPlayer(MediaPlayerEntity):
|
|||||||
"""Initialize the demo device."""
|
"""Initialize the demo device."""
|
||||||
self._attr_name = name
|
self._attr_name = name
|
||||||
self._attr_state = MediaPlayerState.PLAYING
|
self._attr_state = MediaPlayerState.PLAYING
|
||||||
self._volume_level = 1.0
|
self._attr_volume_level = 1.0
|
||||||
self._volume_muted = False
|
self._attr_is_volume_muted = False
|
||||||
self._shuffle = False
|
self._attr_shuffle = False
|
||||||
self._sound_mode_list = SOUND_MODE_LIST
|
self._attr_sound_mode = DEFAULT_SOUND_MODE
|
||||||
self._sound_mode = DEFAULT_SOUND_MODE
|
|
||||||
self._attr_device_class = device_class
|
self._attr_device_class = device_class
|
||||||
|
|
||||||
@property
|
|
||||||
def volume_level(self) -> float:
|
|
||||||
"""Return the volume level of the media player (0..1)."""
|
|
||||||
return self._volume_level
|
|
||||||
|
|
||||||
@property
|
|
||||||
def is_volume_muted(self) -> bool:
|
|
||||||
"""Return boolean if volume is currently muted."""
|
|
||||||
return self._volume_muted
|
|
||||||
|
|
||||||
@property
|
|
||||||
def shuffle(self) -> bool:
|
|
||||||
"""Boolean if shuffling is enabled."""
|
|
||||||
return self._shuffle
|
|
||||||
|
|
||||||
@property
|
|
||||||
def sound_mode(self) -> str:
|
|
||||||
"""Return the current sound mode."""
|
|
||||||
return self._sound_mode
|
|
||||||
|
|
||||||
@property
|
|
||||||
def sound_mode_list(self) -> list[str]:
|
|
||||||
"""Return a list of available sound modes."""
|
|
||||||
return self._sound_mode_list
|
|
||||||
|
|
||||||
def turn_on(self) -> None:
|
def turn_on(self) -> None:
|
||||||
"""Turn the media player on."""
|
"""Turn the media player on."""
|
||||||
self._attr_state = MediaPlayerState.PLAYING
|
self._attr_state = MediaPlayerState.PLAYING
|
||||||
@ -159,22 +134,24 @@ class AbstractDemoPlayer(MediaPlayerEntity):
|
|||||||
|
|
||||||
def mute_volume(self, mute: bool) -> None:
|
def mute_volume(self, mute: bool) -> None:
|
||||||
"""Mute the volume."""
|
"""Mute the volume."""
|
||||||
self._volume_muted = mute
|
self._attr_is_volume_muted = mute
|
||||||
self.schedule_update_ha_state()
|
self.schedule_update_ha_state()
|
||||||
|
|
||||||
def volume_up(self) -> None:
|
def volume_up(self) -> None:
|
||||||
"""Increase volume."""
|
"""Increase volume."""
|
||||||
self._volume_level = min(1.0, self._volume_level + 0.1)
|
assert self.volume_level is not None
|
||||||
|
self._attr_volume_level = min(1.0, self.volume_level + 0.1)
|
||||||
self.schedule_update_ha_state()
|
self.schedule_update_ha_state()
|
||||||
|
|
||||||
def volume_down(self) -> None:
|
def volume_down(self) -> None:
|
||||||
"""Decrease volume."""
|
"""Decrease volume."""
|
||||||
self._volume_level = max(0.0, self._volume_level - 0.1)
|
assert self.volume_level is not None
|
||||||
|
self._attr_volume_level = max(0.0, self.volume_level - 0.1)
|
||||||
self.schedule_update_ha_state()
|
self.schedule_update_ha_state()
|
||||||
|
|
||||||
def set_volume_level(self, volume: float) -> None:
|
def set_volume_level(self, volume: float) -> None:
|
||||||
"""Set the volume level, range 0..1."""
|
"""Set the volume level, range 0..1."""
|
||||||
self._volume_level = volume
|
self._attr_volume_level = volume
|
||||||
self.schedule_update_ha_state()
|
self.schedule_update_ha_state()
|
||||||
|
|
||||||
def media_play(self) -> None:
|
def media_play(self) -> None:
|
||||||
@ -194,12 +171,12 @@ class AbstractDemoPlayer(MediaPlayerEntity):
|
|||||||
|
|
||||||
def set_shuffle(self, shuffle: bool) -> None:
|
def set_shuffle(self, shuffle: bool) -> None:
|
||||||
"""Enable/disable shuffle mode."""
|
"""Enable/disable shuffle mode."""
|
||||||
self._shuffle = shuffle
|
self._attr_shuffle = shuffle
|
||||||
self.schedule_update_ha_state()
|
self.schedule_update_ha_state()
|
||||||
|
|
||||||
def select_sound_mode(self, sound_mode: str) -> None:
|
def select_sound_mode(self, sound_mode: str) -> None:
|
||||||
"""Select sound mode."""
|
"""Select sound mode."""
|
||||||
self._sound_mode = sound_mode
|
self._attr_sound_mode = sound_mode
|
||||||
self.schedule_update_ha_state()
|
self.schedule_update_ha_state()
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user