From d81cbee7f4d0fb46ffb02a9c4a7237fd6c97eaa9 Mon Sep 17 00:00:00 2001 From: LagradOst Date: Sat, 8 Jan 2022 16:45:53 +0100 Subject: [PATCH] fixed play animation --- .../ui/player/AbstractPlayerFragment.kt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/player/AbstractPlayerFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/player/AbstractPlayerFragment.kt index d15ef89e..43245d7a 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/player/AbstractPlayerFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/player/AbstractPlayerFragment.kt @@ -18,6 +18,7 @@ import androidx.annotation.LayoutRes import androidx.annotation.StringRes import androidx.core.view.isVisible import androidx.fragment.app.Fragment +import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat import com.google.android.exoplayer2.ExoPlayer import com.google.android.exoplayer2.PlaybackException import com.google.android.exoplayer2.ui.AspectRatioFrameLayout @@ -96,13 +97,27 @@ abstract class AbstractPlayerFragment( player_pause_play?.setImageResource(if (isPlayingRightNow) R.drawable.play_to_pause else R.drawable.pause_to_play) val drawable = player_pause_play?.drawable + var startedAnimation = false if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) { if (drawable is AnimatedImageDrawable) { drawable.start() + startedAnimation = true } } + if (drawable is AnimatedVectorDrawable) { drawable.start() + startedAnimation = true + } + + if (drawable is AnimatedVectorDrawableCompat) { + drawable.start() + startedAnimation = true + } + + // somehow the phone is wacked + if(!startedAnimation) { + player_pause_play?.setImageResource(if (isPlayingRightNow) R.drawable.netflix_pause else R.drawable.netflix_play) } } else { player_pause_play?.setImageResource(if (isPlayingRightNow) R.drawable.netflix_pause else R.drawable.netflix_play) @@ -110,7 +125,7 @@ abstract class AbstractPlayerFragment( } canEnterPipMode = isPlayingRightNow - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && isInPIPMode) { activity?.let { act -> PlayerPipHelper.updatePIPModeActions(act, isPlayingRightNow) }