From decbbc9acda18ef52261ef0d73b4026b974fc5a0 Mon Sep 17 00:00:00 2001 From: Jason Hunter Date: Wed, 15 Aug 2018 04:45:36 -0400 Subject: [PATCH] Media Player: Standardize computePlaybackControlIcon (#1571) * standardize computePlaybackControlIcon and add play/pause icon for UNKNOWN state * fix linting errors --- src/cards/ha-media_player-card.js | 5 ++++- src/dialogs/more-info/controls/more-info-media_player.js | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/cards/ha-media_player-card.js b/src/cards/ha-media_player-card.js index d5e3ae1dfc..82b4f83593 100644 --- a/src/cards/ha-media_player-card.js +++ b/src/cards/ha-media_player-card.js @@ -275,7 +275,10 @@ class HaMediaPlayerCard extends LocalizeMixin(EventsMixin(PolymerElement)) { computePlaybackControlIcon(playerObj) { if (playerObj.isPlaying) { return playerObj.supportsPause ? 'hass:pause' : 'hass:stop'; - } else if (playerObj.isPaused || playerObj.isOff || playerObj.isIdle) { + } else if (playerObj.hasMediaControl || playerObj.isOff || playerObj.isIdle) { + if (playerObj.hasMediaControl && playerObj.supportsPause && !playerObj.isPaused) { + return 'hass:play-pause'; + } return playerObj.supportsPlay ? 'hass:play' : null; } return ''; diff --git a/src/dialogs/more-info/controls/more-info-media_player.js b/src/dialogs/more-info/controls/more-info-media_player.js index 2fa5536ac1..e0043d76c3 100644 --- a/src/dialogs/more-info/controls/more-info-media_player.js +++ b/src/dialogs/more-info/controls/more-info-media_player.js @@ -194,8 +194,13 @@ class MoreInfoMediaPlayer extends LocalizeMixin(EventsMixin(PolymerElement)) { computePlaybackControlIcon(playerObj) { if (playerObj.isPlaying) { return playerObj.supportsPause ? 'hass:pause' : 'hass:stop'; + } else if (playerObj.hasMediaControl || playerObj.isOff || playerObj.isIdle) { + if (playerObj.hasMediaControl && playerObj.supportsPause && !playerObj.isPaused) { + return 'hass:play-pause'; + } + return playerObj.supportsPlay ? 'hass:play' : null; } - return playerObj.supportsPlay ? 'hass:play' : null; + return ''; } computeHidePowerButton(playerObj) {