diff --git a/app/src/main/java/org/schabi/newpipe/ktx/View.kt b/app/src/main/java/org/schabi/newpipe/ktx/View.kt index 5adb4e3ef..ae1b4388c 100644 --- a/app/src/main/java/org/schabi/newpipe/ktx/View.kt +++ b/app/src/main/java/org/schabi/newpipe/ktx/View.kt @@ -54,7 +54,7 @@ fun View.animate( ) Log.d(TAG, "animate(): $msg") } - if (isVisible && enterOrExit && alpha == 1f && animationType == AnimationType.ALPHA) { + if (isVisible && enterOrExit) { if (MainActivity.DEBUG) { Log.d(TAG, "animate(): view was already visible > view = [$this]") } diff --git a/app/src/main/java/org/schabi/newpipe/player/Player.java b/app/src/main/java/org/schabi/newpipe/player/Player.java index de8bffaf7..14b5f9316 100644 --- a/app/src/main/java/org/schabi/newpipe/player/Player.java +++ b/app/src/main/java/org/schabi/newpipe/player/Player.java @@ -251,6 +251,7 @@ public final class Player implements public static final int DEFAULT_CONTROLS_DURATION = 300; // 300 millis public static final int DEFAULT_CONTROLS_HIDE_TIME = 2000; // 2 Seconds public static final int DPAD_CONTROLS_HIDE_TIME = 7000; // 7 Seconds + public static final int SEEK_OVERLAY_DURATION = 450; // 450 millis /*////////////////////////////////////////////////////////////////////////// // Other constants @@ -586,10 +587,9 @@ public final class Player implements } private void setupPlayerSeekOverlay() { - final int fadeDurations = 450; binding.seekOverlay.showCircle(true) .circleBackgroundColorInt(CircleClipTapView.COLOR_DARK_TRANSPARENT) - .seekSeconds(retrieveSeekDurationFromPreferences(this) / 1000) + .seekSeconds((int) (retrieveSeekDurationFromPreferences(this) / 1000.0f)) .performListener(new PlayerSeekOverlay.PerformListener() { @Override @@ -605,22 +605,22 @@ public final class Player implements @Override public void onAnimationStart() { - animate(binding.seekOverlay, true, fadeDurations); + animate(binding.seekOverlay, true, SEEK_OVERLAY_DURATION); animate(binding.playbackControlsShadow, - !simpleExoPlayer.getPlayWhenReady(), fadeDurations); - animate(binding.playerTopShadow, false, fadeDurations); - animate(binding.playerBottomShadow, false, fadeDurations); - animate(binding.playbackControlRoot, false, fadeDurations); + !simpleExoPlayer.getPlayWhenReady(), SEEK_OVERLAY_DURATION); + animate(binding.playerTopShadow, false, SEEK_OVERLAY_DURATION); + animate(binding.playerBottomShadow, false, SEEK_OVERLAY_DURATION); + animate(binding.playbackControlRoot, false, SEEK_OVERLAY_DURATION); hideSystemUIIfNeeded(); } @Override public void onAnimationEnd() { - animate(binding.seekOverlay, false, fadeDurations); + animate(binding.seekOverlay, false, SEEK_OVERLAY_DURATION); if (!simpleExoPlayer.getPlayWhenReady()) { - showControls(fadeDurations); + showControls(SEEK_OVERLAY_DURATION); } else { - showHideShadow(false, fadeDurations); + showHideShadow(false, SEEK_OVERLAY_DURATION); } } diff --git a/app/src/main/java/org/schabi/newpipe/views/player/SecondsView.kt b/app/src/main/java/org/schabi/newpipe/views/player/SecondsView.kt index fa2dbd63e..f01b116ce 100644 --- a/app/src/main/java/org/schabi/newpipe/views/player/SecondsView.kt +++ b/app/src/main/java/org/schabi/newpipe/views/player/SecondsView.kt @@ -5,14 +5,13 @@ import android.animation.ValueAnimator import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater +import android.widget.LinearLayout import android.widget.TextView import androidx.annotation.DrawableRes -import androidx.constraintlayout.widget.ConstraintLayout import kotlinx.android.synthetic.main.player_seek_seconds_view.view.* import org.schabi.newpipe.R -class SecondsView(context: Context, attrs: AttributeSet?) : - ConstraintLayout(context, attrs) { +class SecondsView(context: Context, attrs: AttributeSet?) : LinearLayout(context, attrs) { companion object { const val ICON_ANIMATION_DURATION = 750L @@ -58,6 +57,8 @@ class SecondsView(context: Context, attrs: AttributeSet?) : init { LayoutInflater.from(context).inflate(R.layout.player_seek_seconds_view, this, true) + orientation = VERTICAL + layoutParams = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT) } fun start() { diff --git a/app/src/main/res/layout-large-land/player.xml b/app/src/main/res/layout-large-land/player.xml index cdb5849ab..10f5a60a0 100644 --- a/app/src/main/res/layout-large-land/player.xml +++ b/app/src/main/res/layout-large-land/player.xml @@ -767,6 +767,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="invisible" - android:alpha="0" /> + android:alpha="0" /> diff --git a/app/src/main/res/layout/player.xml b/app/src/main/res/layout/player.xml index e71ffdd96..3625e0e69 100644 --- a/app/src/main/res/layout/player.xml +++ b/app/src/main/res/layout/player.xml @@ -764,6 +764,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="invisible" - android:alpha="0" /> + android:alpha="0" /> diff --git a/app/src/main/res/layout/player_seek_seconds_view.xml b/app/src/main/res/layout/player_seek_seconds_view.xml index 14c9eaa2d..8aed15594 100644 --- a/app/src/main/res/layout/player_seek_seconds_view.xml +++ b/app/src/main/res/layout/player_seek_seconds_view.xml @@ -1,11 +1,12 @@ - + tools:ignore="ContentDescription" + tools:layout_height="wrap_content" + tools:layout_width="match_parent" + tools:orientation="vertical" + tools:parentTag="android.widget.LinearLayout"> - +