diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/player/PlayerFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/player/PlayerFragment.kt index 655c0947..b5a6ce3e 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/player/PlayerFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/player/PlayerFragment.kt @@ -1,7 +1,10 @@ package com.lagradost.cloudstream3.ui.player +import android.animation.Animator +import android.animation.AnimatorListenerAdapter import android.app.Activity import android.content.Context.AUDIO_SERVICE +import android.content.SharedPreferences import android.content.pm.ActivityInfo import android.database.ContentObserver import android.media.AudioManager @@ -15,6 +18,8 @@ import android.view.View.GONE import android.view.View.VISIBLE import android.view.ViewGroup import android.view.animation.AlphaAnimation +import android.view.animation.Animation +import android.view.animation.AnimationUtils import android.widget.ProgressBar import android.widget.Toast import android.widget.Toast.LENGTH_LONG @@ -49,6 +54,7 @@ import javax.net.ssl.SSLContext import javax.net.ssl.SSLSession import kotlin.concurrent.thread + //http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4 const val STATE_RESUME_WINDOW = "resumeWindow" const val STATE_RESUME_POSITION = "resumePosition" @@ -96,6 +102,8 @@ class PlayerFragment : Fragment() { private var isLoading = true private lateinit var exoPlayer: SimpleExoPlayer + private lateinit var settingsManager: SharedPreferences + private fun seekTime(time: Long) { exoPlayer.seekTo(maxOf(minOf(exoPlayer.currentPosition + time, exoPlayer.duration), 0)) } @@ -220,6 +228,38 @@ class PlayerFragment : Fragment() { } println(episodes) + settingsManager = PreferenceManager.getDefaultSharedPreferences(activity) + + val fastForwardTime = settingsManager.getInt("fast_forward_button_time", 10) + exo_rew_text.text = fastForwardTime.toString() + exo_ffwd_text.text = fastForwardTime.toString() + exo_rew.setOnClickListener { + val rotateLeft = AnimationUtils.loadAnimation(context, R.anim.rotate_left) + exo_rew.startAnimation(rotateLeft) + + val goLeft = AnimationUtils.loadAnimation(context, R.anim.go_left) + goLeft.setAnimationListener(object : Animation.AnimationListener { + override fun onAnimationStart(animation: Animation?) { + } + + override fun onAnimationRepeat(animation: Animation?) { + + } + + override fun onAnimationEnd(animation: Animation?) { + exo_rew_text.text = "$fastForwardTime" + } + }) + exo_rew_text.startAnimation(goLeft) + exo_rew_text.text = "-$fastForwardTime" + seekTime(fastForwardTime * -1000L) + + } + exo_ffwd.setOnClickListener { + val rotateRight = AnimationUtils.loadAnimation(context, R.anim.rotate_right) + exo_ffwd.startAnimation(rotateRight) + seekTime(fastForwardTime * 1000L) + } } fun getCurrentUrl(): ExtractorLink { @@ -249,7 +289,7 @@ class PlayerFragment : Fragment() { override fun onDestroy() { super.onDestroy() - // releasePlayer() + // releasePlayer() activity?.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_USER } @@ -280,6 +320,7 @@ class PlayerFragment : Fragment() { private var currentWindow = 0 private var playbackPosition: Long = 0 + //http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4 private fun initPlayer() { println("INIT PLAYER") @@ -292,7 +333,7 @@ class PlayerFragment : Fragment() { //MainActivity.popCurrentPage() } } else { - val settingsManager = PreferenceManager.getDefaultSharedPreferences(activity) + try { activity?.runOnUiThread { val isOnline = @@ -371,11 +412,11 @@ class PlayerFragment : Fragment() { //https://stackoverflow.com/questions/47731779/detect-pause-resume-in-exoplayer exoPlayer.addListener(object : Player.Listener { - // @SuppressLint("NewApi") + // @SuppressLint("NewApi") override fun onPlayerStateChanged(playWhenReady: Boolean, playbackState: Int) { - // updatePIPModeActions() + // updatePIPModeActions() if (playWhenReady && playbackState == Player.STATE_READY) { - // focusRequest?.let { activity?.requestAudioFocus(it) } + // focusRequest?.let { activity?.requestAudioFocus(it) } } } diff --git a/app/src/main/res/anim/go_left.xml b/app/src/main/res/anim/go_left.xml new file mode 100644 index 00000000..b139b238 --- /dev/null +++ b/app/src/main/res/anim/go_left.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/go_right.xml b/app/src/main/res/anim/go_right.xml new file mode 100644 index 00000000..856b9fc4 --- /dev/null +++ b/app/src/main/res/anim/go_right.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/rotate_left.xml b/app/src/main/res/anim/rotate_left.xml new file mode 100644 index 00000000..216f974f --- /dev/null +++ b/app/src/main/res/anim/rotate_left.xml @@ -0,0 +1,27 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/rotate_right.xml b/app/src/main/res/anim/rotate_right.xml new file mode 100644 index 00000000..3bb2f576 --- /dev/null +++ b/app/src/main/res/anim/rotate_right.xml @@ -0,0 +1,27 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/video_pause.xml b/app/src/main/res/drawable/video_pause.xml new file mode 100644 index 00000000..2514fd00 --- /dev/null +++ b/app/src/main/res/drawable/video_pause.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/video_play.xml b/app/src/main/res/drawable/video_play.xml new file mode 100644 index 00000000..fb3a683f --- /dev/null +++ b/app/src/main/res/drawable/video_play.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/video_tap_button_always_white.xml b/app/src/main/res/drawable/video_tap_button_always_white.xml index b36b807d..ce523afc 100644 --- a/app/src/main/res/drawable/video_tap_button_always_white.xml +++ b/app/src/main/res/drawable/video_tap_button_always_white.xml @@ -1,7 +1,7 @@ - + diff --git a/app/src/main/res/drawable/video_tap_button_skip.xml b/app/src/main/res/drawable/video_tap_button_skip.xml index ac1bff2c..15fd3064 100644 --- a/app/src/main/res/drawable/video_tap_button_skip.xml +++ b/app/src/main/res/drawable/video_tap_button_skip.xml @@ -1,7 +1,7 @@ - + diff --git a/app/src/main/res/layout/player_custom_layout.xml b/app/src/main/res/layout/player_custom_layout.xml index 870a1f16..6d9b2171 100644 --- a/app/src/main/res/layout/player_custom_layout.xml +++ b/app/src/main/res/layout/player_custom_layout.xml @@ -193,8 +193,9 @@ app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" - android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:layout_width="match_parent" + android:layout_height="100dp" + android:gravity="center" android:orientation="horizontal" android:layout_gravity="center" android:id="@+id/centerMenu" @@ -203,23 +204,26 @@ + android:layout_height="wrap_content" tools:ignore="RtlSymmetry"> @@ -261,9 +265,9 @@ android:id="@+id/exo_ffwd_text" android:textColor="@color/white" android:text="@string/player_skip_button_text" - android:textSize="15sp" + android:textSize="19sp" android:layout_gravity="center" - android:textFontWeight="900" + android:textStyle="bold" android:gravity="center" android:layout_width="40dp" android:layout_height="40dp"> @@ -271,18 +275,15 @@ - - @@ -324,7 +325,6 @@ style="@style/ExoMediaButton.VR" android:tint="?attr/colorPrimaryDark" android:tintMode="src_in"/> - + android:textStyle="normal"/> + app:scrubber_enabled_size="24dp" + app:scrubber_dragged_size="26dp" + app:scrubber_color="@color/videoColorPrimary" + app:bar_height="2dp" + app:played_color="@color/videoColorPrimary" + app:unplayed_color="@color/videoProgress"/> @@ -387,6 +394,8 @@ android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" + android:paddingTop="10dp" + android:paddingBottom="10dp" > @@ -473,6 +484,9 @@ android:paddingEnd="10dp" android:id="@+id/player_speed_text" android:layout_gravity="center" + + android:textSize="10sp" + android:textStyle="bold" android:textColor="@android:color/white" > @@ -517,6 +531,9 @@ android:text="Source" android:gravity="center" android:paddingStart="10dp" + + android:textSize="10sp" + android:textStyle="bold" android:paddingEnd="10dp" android:layout_gravity="center" android:textColor="@android:color/white" @@ -561,6 +578,9 @@ android:text="Skip OP" android:gravity="start|center" android:paddingStart="10dp" + + android:textSize="10sp" + android:textStyle="bold" android:paddingEnd="10dp" android:layout_gravity="center" android:textColor="@android:color/white" @@ -671,8 +691,6 @@ android:progress="100" android:progressDrawable="@drawable/progress_drawable_vertical" > - - diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 4d8ab435..95f5302c 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -28,8 +28,10 @@ #F54A3B #4DF54A3B - #80FFFFFF + #73FFFFFF #66000000 #C0121212 #121212 + #66B5B5B5 + #617EFF \ No newline at end of file