Added a Android TV section for seeking

This commit is contained in:
Terry Hanoman 2023-01-31 22:29:36 -05:00
parent f4d62a6bb0
commit 7d5cb541c5
4 changed files with 60 additions and 8 deletions

View file

@ -109,6 +109,8 @@ open class FullScreenPlayer : AbstractPlayerFragment() {
protected var currentPrefQuality = protected var currentPrefQuality =
Qualities.P2160.value // preferred maximum quality, used for ppl w bad internet or on cell Qualities.P2160.value // preferred maximum quality, used for ppl w bad internet or on cell
protected var fastForwardTime = 10000L protected var fastForwardTime = 10000L
protected var androidTVInterfaceOffSeekTime = 10000L;
protected var androidTVInterfaceOnSeekTime = 30000L;
protected var swipeHorizontalEnabled = false protected var swipeHorizontalEnabled = false
protected var swipeVerticalEnabled = false protected var swipeVerticalEnabled = false
protected var playBackSpeedEnabled = false protected var playBackSpeedEnabled = false
@ -1050,15 +1052,21 @@ open class FullScreenPlayer : AbstractPlayerFragment() {
} }
} }
KeyEvent.KEYCODE_DPAD_LEFT -> { KeyEvent.KEYCODE_DPAD_LEFT -> {
if ((!isShowing && !isLocked) || player_pause_play?.isFocused == true) { if (!isShowing && !isLocked) {
player.seekTime(-fastForwardTime) player.seekTime(-androidTVInterfaceOffSeekTime);
return true return true;
} else if (player_pause_play?.isFocused == true) {
player.seekTime(-androidTVInterfaceOnSeekTime);
return true;
} }
} }
KeyEvent.KEYCODE_DPAD_RIGHT -> { KeyEvent.KEYCODE_DPAD_RIGHT -> {
if ((!isShowing && !isLocked) || player_pause_play?.isFocused == true) { if (!isShowing && !isLocked) {
player.seekTime(fastForwardTime) player.seekTime(androidTVInterfaceOffSeekTime);
return true return true;
} else if (player_pause_play?.isFocused == true) {
player.seekTime(androidTVInterfaceOnSeekTime);
return true;
} }
} }
} }
@ -1066,8 +1074,7 @@ open class FullScreenPlayer : AbstractPlayerFragment() {
} }
when (keyCode) { when (keyCode) {
// don't allow dpad move when hidden // don't allow dpad move when hidde
KeyEvent.KEYCODE_DPAD_DOWN, KeyEvent.KEYCODE_DPAD_DOWN,
KeyEvent.KEYCODE_DPAD_UP, KeyEvent.KEYCODE_DPAD_UP,
KeyEvent.KEYCODE_DPAD_DOWN_LEFT, KeyEvent.KEYCODE_DPAD_DOWN_LEFT,
@ -1201,6 +1208,13 @@ open class FullScreenPlayer : AbstractPlayerFragment() {
settingsManager.getInt(ctx.getString(R.string.double_tap_seek_time_key), 10) settingsManager.getInt(ctx.getString(R.string.double_tap_seek_time_key), 10)
.toLong() * 1000L .toLong() * 1000L
androidTVInterfaceOffSeekTime =
settingsManager.getInt(ctx.getString(R.string.android_tv_interface_off_seek_key), 10)
.toLong() * 1000L
androidTVInterfaceOnSeekTime =
settingsManager.getInt(ctx.getString(R.string.android_tv_interface_on_seek_key), 10)
.toLong() * 1000L
navigationBarHeight = ctx.getNavigationBarHeight() navigationBarHeight = ctx.getNavigationBarHeight()
statusBarHeight = ctx.getStatusBarHeight() statusBarHeight = ctx.getStatusBarHeight()

View file

@ -489,4 +489,8 @@
<string name="update_started">Actualización iniciada</string> <string name="update_started">Actualización iniciada</string>
<string name="plugin_downloaded">Complemento descargado</string> <string name="plugin_downloaded">Complemento descargado</string>
<string name="action_remove_from_watched">Quitar de visto</string> <string name="action_remove_from_watched">Quitar de visto</string>
<string name="android_tv_interface_on_seek_settings">Jugadora mostrada - buscar cantidad</string>
<string name="android_tv_interface_off_seek_settings">Jugadora oculta - buscar cantidad</string>
<string name="pref_category_android_tv">Android TV</string>
<string name="android_tv_interface_on_seek_settings_summary">La cantidad de búsqueda utilizada cuando la jugadora es visible.</string>
</resources> </resources>

View file

@ -32,6 +32,8 @@
<string name="double_tap_enabled_key" translatable="false">double_tap_enabled_key</string> <string name="double_tap_enabled_key" translatable="false">double_tap_enabled_key</string>
<string name="double_tap_pause_enabled_key" translatable="false">double_tap_pause_enabled_key</string> <string name="double_tap_pause_enabled_key" translatable="false">double_tap_pause_enabled_key</string>
<string name="double_tap_seek_time_key" translatable="false">double_tap_seek_time_key2</string> <string name="double_tap_seek_time_key" translatable="false">double_tap_seek_time_key2</string>
<string name="android_tv_interface_off_seek_key" translatable="false">android_tv_interface_off_seek_key</string>
<string name="android_tv_interface_on_seek_key" translatable="false">android_tv_interface_on_seek_key</string>
<string name="swipe_vertical_enabled_key" translatable="false">swipe_vertical_enabled_key</string> <string name="swipe_vertical_enabled_key" translatable="false">swipe_vertical_enabled_key</string>
<string name="autoplay_next_key" translatable="false">autoplay_next_key</string> <string name="autoplay_next_key" translatable="false">autoplay_next_key</string>
<string name="display_sub_key" translatable="false">display_sub_key</string> <string name="display_sub_key" translatable="false">display_sub_key</string>
@ -362,6 +364,10 @@
<string name="video_buffer_length_settings">Video buffer length</string> <string name="video_buffer_length_settings">Video buffer length</string>
<string name="video_buffer_disk_settings">Video cache on disk</string> <string name="video_buffer_disk_settings">Video cache on disk</string>
<string name="video_buffer_clear_settings">Clear video and image cache</string> <string name="video_buffer_clear_settings">Clear video and image cache</string>
<string name="android_tv_interface_on_seek_settings">Player Shown - Seek Amount</string>
<string name="android_tv_interface_on_seek_settings_summary">The seek amount used when the player is visible</string>
<string name="android_tv_interface_off_seek_settings">Player Hidden - Seek Amount</string>
<string name="android_tv_interface_off_seek_settings_summary">The seek amount used when the player is hidden</string>
<string name="video_ram_description">Causes crashes if set too high on devices with low memory, such as Android TV.</string> <string name="video_ram_description">Causes crashes if set too high on devices with low memory, such as Android TV.</string>
<string name="video_disk_description">Causes problems if set too high on devices with low storage space, such as Android TV.</string> <string name="video_disk_description">Causes problems if set too high on devices with low storage space, such as Android TV.</string>
<string name="dns_pref">DNS over HTTPS</string> <string name="dns_pref">DNS over HTTPS</string>
@ -399,6 +405,7 @@
<string name="pref_category_extensions">Extensions</string> <string name="pref_category_extensions">Extensions</string>
<string name="pref_category_actions">Actions</string> <string name="pref_category_actions">Actions</string>
<string name="pref_category_cache">Cache</string> <string name="pref_category_cache">Cache</string>
<string name="pref_category_android_tv">Android TV</string>
<string name="pref_category_gestures">Gestures</string> <string name="pref_category_gestures">Gestures</string>
<string name="pref_category_player_features">Player features</string> <string name="pref_category_player_features">Player features</string>
<string name="pref_category_subtitles">Subtitles</string> <string name="pref_category_subtitles">Subtitles</string>

View file

@ -149,4 +149,31 @@
android:key="@string/video_buffer_clear_key" android:key="@string/video_buffer_clear_key"
android:title="@string/video_buffer_clear_settings" /> android:title="@string/video_buffer_clear_settings" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory
android:title="@string/pref_category_android_tv">
<SeekBarPreference
android:defaultValue="10"
android:max="60"
android:title="@string/android_tv_interface_on_seek_settings"
android:summary="@string/android_tv_interface_on_seek_settings_summary"
app:adjustable="true"
app:defaultValue="30"
app:icon="@drawable/go_forward_30"
app:key="@string/android_tv_interface_on_seek_key"
app:min="5"
app:seekBarIncrement="5"
app:showSeekBarValue="true" />
<SeekBarPreference
android:defaultValue="10"
android:max="60"
android:title="@string/android_tv_interface_off_seek_settings"
android:summary="@string/android_tv_interface_off_seek_settings_summary"
app:adjustable="true"
app:defaultValue="10"
app:icon="@drawable/go_forward_30"
app:key="@string/android_tv_interface_off_seek_key"
app:min="5"
app:seekBarIncrement="5"
app:showSeekBarValue="true" />
</PreferenceCategory>
</PreferenceScreen> </PreferenceScreen>