2022-07-02 21:53:24 +05:30
|
|
|
package com.github.libretube.views
|
2021-12-12 20:31:44 +05:30
|
|
|
|
|
|
|
import android.annotation.SuppressLint
|
|
|
|
import android.content.Context
|
|
|
|
import android.util.AttributeSet
|
|
|
|
import android.view.MotionEvent
|
2022-07-15 14:57:04 +05:30
|
|
|
import android.view.View
|
2022-07-01 18:42:00 +05:30
|
|
|
import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding
|
2021-12-14 02:58:17 +05:30
|
|
|
import com.google.android.exoplayer2.ui.StyledPlayerView
|
2021-12-12 20:31:44 +05:30
|
|
|
|
|
|
|
internal class CustomExoPlayerView(
|
2022-05-20 03:52:10 +05:30
|
|
|
context: Context,
|
|
|
|
attributeSet: AttributeSet? = null
|
2021-12-14 02:58:17 +05:30
|
|
|
) : StyledPlayerView(context, attributeSet) {
|
2022-07-01 18:42:00 +05:30
|
|
|
val binding: ExoStyledPlayerControlViewBinding = ExoStyledPlayerControlViewBinding.bind(this)
|
2021-12-12 20:31:44 +05:30
|
|
|
|
2022-07-15 14:57:04 +05:30
|
|
|
override fun hideController() {
|
|
|
|
super.hideController()
|
|
|
|
binding.toggleOptions.animate().rotationX(0F).start()
|
|
|
|
binding.advancedOptions.visibility = View.GONE
|
|
|
|
}
|
|
|
|
|
2021-12-12 20:31:44 +05:30
|
|
|
@SuppressLint("ClickableViewAccessibility")
|
|
|
|
override fun onTouchEvent(event: MotionEvent): Boolean {
|
|
|
|
when (event.action) {
|
|
|
|
MotionEvent.ACTION_DOWN -> {
|
2021-12-14 21:45:53 +05:30
|
|
|
if (isControllerFullyVisible) {
|
|
|
|
hideController()
|
2022-05-20 03:52:10 +05:30
|
|
|
} else {
|
2021-12-14 21:45:53 +05:30
|
|
|
showController()
|
|
|
|
}
|
2021-12-12 20:31:44 +05:30
|
|
|
}
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
2022-05-20 03:52:10 +05:30
|
|
|
}
|