Make sure we block emulated mouse events when touch is used (#3173)

This commit is contained in:
Joakim Plate 2019-05-09 04:53:34 +02:00 committed by Paulus Schoutsen
parent 8924a5f043
commit fe2ae965b3

View File

@ -111,6 +111,7 @@ class MoreInfoMediaPlayer extends LocalizeMixin(EventsMixin(PolymerElement)) {
disabled$="[[playerObj.isMuted]]" disabled$="[[playerObj.isMuted]]"
on-mousedown="handleVolumeDown" on-mousedown="handleVolumeDown"
on-touchstart="handleVolumeDown" on-touchstart="handleVolumeDown"
on-touchend="handleVolumeTouchEnd"
icon="hass:volume-medium" icon="hass:volume-medium"
></paper-icon-button> ></paper-icon-button>
<paper-icon-button <paper-icon-button
@ -118,6 +119,7 @@ class MoreInfoMediaPlayer extends LocalizeMixin(EventsMixin(PolymerElement)) {
disabled$="[[playerObj.isMuted]]" disabled$="[[playerObj.isMuted]]"
on-mousedown="handleVolumeUp" on-mousedown="handleVolumeUp"
on-touchstart="handleVolumeUp" on-touchstart="handleVolumeUp"
on-touchend="handleVolumeTouchEnd"
icon="hass:volume-high" icon="hass:volume-high"
></paper-icon-button> ></paper-icon-button>
</div> </div>
@ -357,6 +359,12 @@ class MoreInfoMediaPlayer extends LocalizeMixin(EventsMixin(PolymerElement)) {
this.playerObj.volumeMute(!this.playerObj.isMuted); this.playerObj.volumeMute(!this.playerObj.isMuted);
} }
handleVolumeTouchEnd(ev) {
/* when touch ends, we must prevent this from
* becoming a mousedown, up, click by emulation */
ev.preventDefault();
}
handleVolumeUp() { handleVolumeUp() {
const obj = this.$.volumeUp; const obj = this.$.volumeUp;
this.handleVolumeWorker("volume_up", obj, true); this.handleVolumeWorker("volume_up", obj, true);