From 073c8cdcd01088783e7660e9c0f2c368cbf45e26 Mon Sep 17 00:00:00 2001 From: Ryan Kraus Date: Mon, 11 Jan 2016 00:02:01 -0500 Subject: [PATCH] Added volume buttons to media_player more-info Added volume buttons to the media_player more-info panel. The volume buttons appear if the supportsVolumeButtons flag is turned on and the player is not off. They send a volume up/down service call every half second while they are being pressed. --- src/more-infos/more-info-media_player.html | 12 +++++++- src/more-infos/more-info-media_player.js | 36 ++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/src/more-infos/more-info-media_player.html b/src/more-infos/more-info-media_player.html index 2ba1b51b91..776f520cd3 100644 --- a/src/more-infos/more-info-media_player.html +++ b/src/more-infos/more-info-media_player.html @@ -12,7 +12,7 @@ color: var(--accent-color); } - .volume { + .volume .volume_buttons { margin-bottom: 8px; max-height: 0px; @@ -43,8 +43,18 @@ +
+ + + +
this.fire('iron-resize'), 500); @@ -102,6 +116,10 @@ export default new Polymer({ return isMuted ? 'mdi:volume-off' : 'mdi:volume-high'; }, + computeHideVolumeButtons(isOff, supportsVolumeButtons) { + return !supportsVolumeButtons || isOff; + }, + computePlaybackControlIcon() { if (this.isPlaying) { return this.supportsPause ? 'mdi:pause' : 'mdi:stop'; @@ -136,6 +154,24 @@ export default new Polymer({ this.callService('volume_mute', { is_volume_muted: !this.isMuted }); }, + handleVolumeUp(ev) { + var obj = this.$.volumeUp; + this.handleVolumeWorker('volume_up', obj, true); + }, + + handleVolumeDown(ev) { + var obj = this.$.volumeDown; + this.handleVolumeWorker('volume_down', obj, true); + }, + + handleVolumeWorker(service, obj, force) { + if (force || (obj != undefined && obj.pointerDown)) { + this.callService(service); + var _this = this; + setTimeout(function(){ _this.handleVolumeWorker(service, obj, false); }, 500); + } + }, + volumeSliderChanged(ev) { const volPercentage = parseFloat(ev.target.value); const vol = volPercentage > 0 ? volPercentage / 100 : 0;