diff --git a/materialious/src/lib/components/Player.svelte b/materialious/src/lib/components/Player.svelte index afdac71e..f402c2b1 100644 --- a/materialious/src/lib/components/Player.svelte +++ b/materialious/src/lib/components/Player.svelte @@ -939,6 +939,7 @@ playerTimelineTooltipVisible = false; } + let androidFirstTap = true; function onVideoClick( event: MouseEvent & { currentTarget: EventTarget & HTMLDivElement; @@ -948,11 +949,16 @@ event.target && event.target instanceof HTMLElement && event.target.id === 'player-tap-controls-area' && - parseFloat(getComputedStyle(event.target).opacity) > 0 && playerElement ) { clickCount++; + // Force android to tap an addtional time. + if (Capacitor.getPlatform() === 'android' && androidFirstTap) { + androidFirstTap = false; + return; + } + const container = event.currentTarget; const rect = container.getBoundingClientRect(); @@ -966,6 +972,17 @@ toggleVideoPlaybackStatus(); } + if ( + Capacitor.getPlatform() === 'android' && + event.target && + event.target instanceof HTMLElement && + parseFloat(getComputedStyle(event.target).opacity) > 0 + ) { + androidFirstTap = false; + } else { + androidFirstTap = true; + } + clickCount = 0; }, 300); @@ -1392,6 +1409,7 @@ opacity: 0; transition: opacity 2s ease; padding: 10px; + user-select: none; } #player-controls span { @@ -1439,6 +1457,7 @@ #player-container:hover #player-controls { opacity: 1; transition: opacity 0.3s ease; + user-select: all; } #player-container:focus-within #mobile-time, diff --git a/materialious/src/lib/components/settings/Player.svelte b/materialious/src/lib/components/settings/Player.svelte index 20676192..4959c174 100644 --- a/materialious/src/lib/components/settings/Player.svelte +++ b/materialious/src/lib/components/settings/Player.svelte @@ -16,7 +16,6 @@ playerMiniplayerEnabled, playerProxyVideosStore, playerSavePlaybackPositionStore, - playerStatisticsByDefault, playerTheatreModeByDefaultStore, playerYouTubeJsAlways, playerYouTubeJsFallback @@ -294,20 +293,3 @@ - -