From 7f7ff4fae41fba6061c8c43b790fa590096efff0 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Sat, 18 Jun 2022 18:21:30 +0200 Subject: [PATCH] seek increment option --- .../libretube/fragments/PlayerFragment.kt | 10 +++++---- .../preferences/AppearanceSettings.kt | 7 ++++++ app/src/main/res/drawable/ic_skip.xml | 11 ++++++++++ app/src/main/res/values/array.xml | 22 +++++++++++++++++++ app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/player_settings.xml | 11 +++++++++- 6 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/drawable/ic_skip.xml diff --git a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt index 0feca3e6a..55b74e3b3 100644 --- a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt @@ -811,7 +811,9 @@ class PlayerFragment : Fragment() { private fun createExoPlayer(view: View) { val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext()) val playbackSpeed = sharedPreferences.getString("playback_speed", "1F")?.toFloat() - val bufferingGoal = sharedPreferences.getString("buffering_goal", "50")?.toInt()!! + // multiply by thousand: s -> ms + val bufferingGoal = sharedPreferences.getString("buffering_goal", "50")?.toInt()!! * 1000 + val seekIncrement = sharedPreferences.getString("seek_increment", "5")?.toLong()!! * 1000 val cronetEngine: CronetEngine = CronetHelper.getCronetEngine() val cronetDataSourceFactory: CronetDataSource.Factory = @@ -834,7 +836,7 @@ class PlayerFragment : Fragment() { .setBackBuffer(1000 * 60 * 3, true) .setBufferDurationsMs( DefaultLoadControl.DEFAULT_MIN_BUFFER_MS, - bufferingGoal * 1000, // buffering goal, s -> ms + bufferingGoal, DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_MS, DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS ) @@ -843,8 +845,8 @@ class PlayerFragment : Fragment() { exoPlayer = ExoPlayer.Builder(view.context) .setMediaSourceFactory(DefaultMediaSourceFactory(dataSourceFactory)) .setLoadControl(loadControl) - .setSeekBackIncrementMs(5000) - .setSeekForwardIncrementMs(5000) + .setSeekBackIncrementMs(seekIncrement) + .setSeekForwardIncrementMs(seekIncrement) .build() exoPlayer.setAudioAttributes(audioAttributes, true) diff --git a/app/src/main/java/com/github/libretube/preferences/AppearanceSettings.kt b/app/src/main/java/com/github/libretube/preferences/AppearanceSettings.kt index cb269fb28..ea88a50f4 100644 --- a/app/src/main/java/com/github/libretube/preferences/AppearanceSettings.kt +++ b/app/src/main/java/com/github/libretube/preferences/AppearanceSettings.kt @@ -5,6 +5,7 @@ import android.widget.TextView import androidx.preference.ListPreference import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat +import androidx.preference.SwitchPreference import com.github.libretube.R import com.github.libretube.requireMainActivityRestart import com.github.libretube.util.ThemeHelper @@ -42,5 +43,11 @@ class AppearanceSettings : PreferenceFragmentCompat() { requireMainActivityRestart = true true } + + val hideTrending = findPreference("hide_trending_page") + hideTrending?.setOnPreferenceChangeListener { _, _ -> + requireMainActivityRestart = true + true + } } } diff --git a/app/src/main/res/drawable/ic_skip.xml b/app/src/main/res/drawable/ic_skip.xml new file mode 100644 index 000000000..d88b792d4 --- /dev/null +++ b/app/src/main/res/drawable/ic_skip.xml @@ -0,0 +1,11 @@ + + + diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml index 85c925c48..9e3bbd5e3 100644 --- a/app/src/main/res/values/array.xml +++ b/app/src/main/res/values/array.xml @@ -635,6 +635,7 @@ 1.25x 1.5x 2x + 4x 0.25F @@ -644,6 +645,7 @@ 1.25F 1.5F 2F + 4F @@ -660,6 +662,13 @@ + 50s + 100s + 200s + 300s + 450s + + 50 100 200 @@ -672,4 +681,17 @@ MPEG_4 + + 5s + 10s + 20s + 30s + + + 5 + 10 + 20 + 30 + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 527a7ca25..ccef71a22 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -195,4 +195,5 @@ Quality Behavior Quality and player behavior + Seek increment diff --git a/app/src/main/res/xml/player_settings.xml b/app/src/main/res/xml/player_settings.xml index 28694c416..477897df2 100644 --- a/app/src/main/res/xml/player_settings.xml +++ b/app/src/main/res/xml/player_settings.xml @@ -35,11 +35,20 @@ app:title="@string/playback_speed" app:useSimpleSummaryProvider="true" /> + +