From ead02a479f31a1379aa8327488141db2d0c0a5f6 Mon Sep 17 00:00:00 2001 From: Jorrit Smit Date: Wed, 28 Oct 2020 17:07:28 +0100 Subject: [PATCH] Do not detect gestures in top 48dp of screen --- .../main/java/org/jellyfin/mobile/player/PlayerFragment.kt | 5 +++++ app/src/main/java/org/jellyfin/mobile/utils/Constants.kt | 1 + 2 files changed, 6 insertions(+) diff --git a/app/src/main/java/org/jellyfin/mobile/player/PlayerFragment.kt b/app/src/main/java/org/jellyfin/mobile/player/PlayerFragment.kt index d1f21883..e1487529 100644 --- a/app/src/main/java/org/jellyfin/mobile/player/PlayerFragment.kt +++ b/app/src/main/java/org/jellyfin/mobile/player/PlayerFragment.kt @@ -30,6 +30,7 @@ import org.jellyfin.mobile.utils.* import org.jellyfin.mobile.utils.Constants.DEFAULT_CENTER_OVERLAY_TIMEOUT_MS import org.jellyfin.mobile.utils.Constants.DEFAULT_CONTROLS_TIMEOUT_MS import org.jellyfin.mobile.utils.Constants.DEFAULT_SEEK_TIME_MS +import org.jellyfin.mobile.utils.Constants.GESTURE_EXCLUSION_AREA_TOP import org.koin.android.ext.android.inject import timber.log.Timber import kotlin.math.abs @@ -280,6 +281,10 @@ class PlayerFragment : Fragment() { if (!swipeGesturesEnabled) return false + // Check whether swipe was started in excluded region + if (firstEvent.y < GESTURE_EXCLUSION_AREA_TOP * resources.displayMetrics.density) + return false + // Check whether swipe was oriented vertically if (abs(distanceY / distanceX) < 2) return false diff --git a/app/src/main/java/org/jellyfin/mobile/utils/Constants.kt b/app/src/main/java/org/jellyfin/mobile/utils/Constants.kt index a4c14bf2..cd20f84f 100644 --- a/app/src/main/java/org/jellyfin/mobile/utils/Constants.kt +++ b/app/src/main/java/org/jellyfin/mobile/utils/Constants.kt @@ -82,6 +82,7 @@ object Constants { const val TICKS_PER_MILLISECOND = 10000 const val PLAYER_TIME_UPDATE_RATE = 3000L const val DEFAULT_CONTROLS_TIMEOUT_MS = 2500 + const val GESTURE_EXCLUSION_AREA_TOP = 48 const val DEFAULT_CENTER_OVERLAY_TIMEOUT_MS = 250 const val DEFAULT_SEEK_TIME_MS = 5000L const val SUPPORTED_VIDEO_PLAYER_PLAYBACK_ACTIONS: Long = PlaybackState.ACTION_PLAY_PAUSE or