LibreTube/app/src/main/java/com/github/libretube/views/CustomExoPlayerView.kt

37 lines
1.1 KiB
Kotlin
Raw Normal View History

2022-07-02 21:53:24 +05:30
package com.github.libretube.views
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
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)
2022-07-15 14:57:04 +05:30
override fun hideController() {
super.hideController()
2022-07-15 15:04:06 +05:30
binding.toggleOptions.animate().rotationX(0F).setDuration(1000).start()
2022-07-15 14:57:04 +05:30
binding.advancedOptions.visibility = View.GONE
}
@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()
}
}
}
return false
}
2022-05-20 03:52:10 +05:30
}