doubletapplayerview: final touch tweaks
This commit is contained in:
@@ -23,6 +23,10 @@ class DoubleTapPlayerAdapter(private val playerView: View): DoubleTapPlayerView
|
||||
field = value
|
||||
}
|
||||
|
||||
interface OnSingleTap {
|
||||
fun onSingleTap(event: MotionEvent)
|
||||
}
|
||||
|
||||
init {
|
||||
gestureDetector = GestureDetectorCompat(playerView.context, gestureListener)
|
||||
}
|
||||
@@ -52,7 +56,7 @@ class DoubleTapPlayerAdapter(private val playerView: View): DoubleTapPlayerView
|
||||
*
|
||||
* Primarily used for [YouTubeOverlay][com.github.vkay94.dtpv.youtube.YouTubeOverlay]
|
||||
*/
|
||||
override fun controller(controller: PlayerDoubleTapListener) = apply { this.controller = controller }
|
||||
override fun controller(controller: PlayerDoubleTapListener?) = apply { this.controller = controller }
|
||||
|
||||
/**
|
||||
* Returns the current state of double tapping.
|
||||
@@ -87,6 +91,8 @@ class DoubleTapPlayerAdapter(private val playerView: View): DoubleTapPlayerView
|
||||
return false
|
||||
}
|
||||
|
||||
fun onSingleTap(singleTap: OnSingleTap?) = apply { gestureListener.onSingleTap = singleTap }
|
||||
|
||||
/**
|
||||
* Gesture Listener for double tapping
|
||||
*
|
||||
@@ -106,6 +112,7 @@ class DoubleTapPlayerAdapter(private val playerView: View): DoubleTapPlayerView
|
||||
var controls: PlayerDoubleTapListener? = null
|
||||
var isDoubleTapping = false
|
||||
var doubleTapDelay: Long = 650
|
||||
var onSingleTap: OnSingleTap? = null
|
||||
|
||||
/**
|
||||
* Resets the timeout to keep in double tap mode.
|
||||
@@ -153,6 +160,7 @@ class DoubleTapPlayerAdapter(private val playerView: View): DoubleTapPlayerView
|
||||
// to hide and show on single tap
|
||||
if (isDoubleTapping) return true
|
||||
if (DEBUG) Log.d(TAG, "onSingleTapConfirmed: isDoubleTap = false")
|
||||
onSingleTap?.onSingleTap(e)
|
||||
return rootView.performClick()
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ interface DoubleTapPlayerView {
|
||||
*
|
||||
* Primarily used for [YouTubeOverlay][com.github.vkay94.dtpv.youtube.YouTubeOverlay]
|
||||
*/
|
||||
fun controller(controller: PlayerDoubleTapListener): DoubleTapPlayerView
|
||||
fun controller(controller: PlayerDoubleTapListener?): DoubleTapPlayerView
|
||||
/**
|
||||
* Returns the current state of double tapping.
|
||||
*/
|
||||
|
||||
@@ -68,7 +68,7 @@ open class DoubleTapPlayerViewImpl @JvmOverloads constructor(
|
||||
*
|
||||
* Primarily used for [YouTubeOverlay][com.github.vkay94.dtpv.youtube.YouTubeOverlay]
|
||||
*/
|
||||
override fun controller(controller: PlayerDoubleTapListener) = apply { this.controller = controller }
|
||||
override fun controller(controller: PlayerDoubleTapListener?) = apply { this.controller = controller }
|
||||
|
||||
/**
|
||||
* Returns the current state of double tapping.
|
||||
|
||||
+2
-1
@@ -253,7 +253,7 @@ public class PlaybackFragment extends SeekModePlaybackFragment implements Playba
|
||||
}
|
||||
|
||||
public void onDispatchTouchEvent(MotionEvent event) {
|
||||
if (mDoubleTapPlayerAdapter != null) {
|
||||
if (mDoubleTapPlayerAdapter != null && !isOverlayShown()) {
|
||||
boolean handled = mDoubleTapPlayerAdapter.onTouchEvent(event);
|
||||
|
||||
if (handled)
|
||||
@@ -546,6 +546,7 @@ public class PlaybackFragment extends SeekModePlaybackFragment implements Playba
|
||||
}
|
||||
|
||||
mDoubleTapPlayerAdapter = new DoubleTapPlayerAdapter(getView());
|
||||
mDoubleTapPlayerAdapter.onSingleTap(this::applyTickle);
|
||||
mDoubleTapPlayerAdapter.controller(mYouTubeOverlay);
|
||||
mYouTubeOverlay
|
||||
.player(mPlayer)
|
||||
|
||||
Reference in New Issue
Block a user