mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 08:20:32 +05:30
fix: hide autoplay countdown when miniplayer visible
This commit is contained in:
parent
31769c756d
commit
ebe7330c8a
@ -8,14 +8,21 @@ import android.view.LayoutInflater
|
|||||||
import android.widget.FrameLayout
|
import android.widget.FrameLayout
|
||||||
import androidx.core.os.postDelayed
|
import androidx.core.os.postDelayed
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
|
import androidx.lifecycle.ViewModelProvider
|
||||||
|
import androidx.lifecycle.get
|
||||||
import com.github.libretube.R
|
import com.github.libretube.R
|
||||||
import com.github.libretube.databinding.AutoplayCountdownBinding
|
import com.github.libretube.databinding.AutoplayCountdownBinding
|
||||||
|
import com.github.libretube.ui.activities.MainActivity
|
||||||
|
import com.github.libretube.ui.base.BaseActivity
|
||||||
|
import com.github.libretube.ui.models.PlayerViewModel
|
||||||
|
|
||||||
class AutoplayCountdownView(
|
class AutoplayCountdownView(
|
||||||
context: Context,
|
context: Context,
|
||||||
attributeSet: AttributeSet?
|
attributeSet: AttributeSet?
|
||||||
) : FrameLayout(context, attributeSet) {
|
) : FrameLayout(context, attributeSet) {
|
||||||
private val layoutInflater = LayoutInflater.from(context)
|
private val layoutInflater = LayoutInflater.from(context)
|
||||||
|
private val playerViewModel: PlayerViewModel get() = ViewModelProvider(context as MainActivity).get()
|
||||||
|
|
||||||
val binding = AutoplayCountdownBinding.inflate(layoutInflater, this, true)
|
val binding = AutoplayCountdownBinding.inflate(layoutInflater, this, true)
|
||||||
private var onCountdownEnd: () -> Unit = {}
|
private var onCountdownEnd: () -> Unit = {}
|
||||||
private var hideSelf: () -> Unit = {}
|
private var hideSelf: () -> Unit = {}
|
||||||
@ -34,7 +41,6 @@ class AutoplayCountdownView(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun startCountdown(onEnd: () -> Unit) {
|
fun startCountdown(onEnd: () -> Unit) {
|
||||||
this.isVisible = true
|
|
||||||
onCountdownEnd = {
|
onCountdownEnd = {
|
||||||
hideSelf.invoke()
|
hideSelf.invoke()
|
||||||
onEnd.invoke()
|
onEnd.invoke()
|
||||||
@ -53,6 +59,8 @@ class AutoplayCountdownView(
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// only show countdown when mini player not visible
|
||||||
|
this.isVisible = playerViewModel.isMiniPlayerVisible.value == false
|
||||||
binding.currentState.text = context.getString(
|
binding.currentState.text = context.getString(
|
||||||
R.string.playing_next,
|
R.string.playing_next,
|
||||||
currentTimerState.toString()
|
currentTimerState.toString()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user