diff --git a/app/src/main/java/com/futo/platformplayer/Settings.kt b/app/src/main/java/com/futo/platformplayer/Settings.kt
index e105d119..7f827f66 100644
--- a/app/src/main/java/com/futo/platformplayer/Settings.kt
+++ b/app/src/main/java/com/futo/platformplayer/Settings.kt
@@ -499,6 +499,22 @@ class Settings : FragmentedStorageFileJson() {
@FormField(R.string.delete_watchlist_on_finish, FieldForm.TOGGLE, R.string.delete_watchlist_on_finish_description, 22)
var deleteFromWatchLaterAuto: Boolean = true;
+
+ @FormField(R.string.seek_offset, FieldForm.DROPDOWN, R.string.seek_offset_description, 23)
+ @DropdownFieldOptionsId(R.array.seek_offset_duration)
+ var seekOffset: Int = 2;
+
+ fun getSeekOffset(): Long {
+ return when(seekOffset) {
+ 0 -> 3_000L;
+ 1 -> 5_000L;
+ 2 -> 10_000L;
+ 3 -> 20_000L;
+ 4 -> 30_000L;
+ 5 -> 60_000L;
+ else -> 10_000L;
+ }
+ }
}
@FormField(R.string.comments, "group", R.string.comments_description, 6)
@@ -1019,4 +1035,4 @@ class Settings : FragmentedStorageFileJson() {
}
}
//endregion
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/com/futo/platformplayer/views/behavior/GestureControlView.kt b/app/src/main/java/com/futo/platformplayer/views/behavior/GestureControlView.kt
index 65a750a8..f90102b3 100644
--- a/app/src/main/java/com/futo/platformplayer/views/behavior/GestureControlView.kt
+++ b/app/src/main/java/com/futo/platformplayer/views/behavior/GestureControlView.kt
@@ -628,12 +628,12 @@ class GestureControlView : LinearLayout {
private fun fastForwardTick() {
_fastForwardCounter++;
- val seekOffset: Long = 10000;
+ val seekOffset: Long = Settings.instance.playback.getSeekOffset();
if (_rewinding) {
- _textRewind.text = "${_fastForwardCounter * 10} " + context.getString(R.string.seconds);
+ _textRewind.text = "${_fastForwardCounter * seekOffset / 1_000} " + context.getString(R.string.seconds);
onSeek.emit(-seekOffset);
} else {
- _textFastForward.text = "${_fastForwardCounter * 10} " + context.getString(R.string.seconds);
+ _textFastForward.text = "${_fastForwardCounter * seekOffset / 1_000} " + context.getString(R.string.seconds);
onSeek.emit(seekOffset);
}
}
@@ -810,4 +810,4 @@ class GestureControlView : LinearLayout {
const val EXIT_DURATION_FAST_FORWARD: Long = 600;
const val TAG = "GestureControlView";
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 733eacc2..438020da 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -688,6 +688,14 @@
- Continuer la lecture
- Superposition du lecteur
+
+ - 3 secondes
+ - 5 secondes
+ - 10 secondes
+ - 20 secondes
+ - 30 secondes
+ - 60 secondes
+
- Reprendre depuis le début
- Reprendre après 10s
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 117a9620..29642238 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -424,6 +424,8 @@
Allow full-screen portrait when watching horizontal videos
Delete from WatchLater when watched
After you leave a video that you mostly watched, it will be removed from watch later.
+ Seek duration
+ Fast-Forward / Fast-Rewind duration
Switch to Audio in Background
Optimize bandwidth usage by switching to audio-only stream in background if available, may cause stutter
Groups
@@ -1076,6 +1078,14 @@
- Within 30 seconds of loss
- Always
+
+ - 3 seconds
+ - 5 seconds
+ - 10 seconds
+ - 20 seconds
+ - 30 seconds
+ - 60 seconds
+
- 15
- 30
@@ -1089,4 +1099,4 @@
- 1500
- 2000
-
\ No newline at end of file
+