feat(youtube/overlay-buttons): change to an appropriate description

This commit is contained in:
inotia00 2023-06-28 13:49:39 +09:00
parent 049e698999
commit 5dff2ac118
9 changed files with 60 additions and 58 deletions

View File

@ -1,4 +1,4 @@
package app.revanced.patches.youtube.overlaybutton.autorepeat.fingerprints package app.revanced.patches.youtube.overlaybutton.alwaysrepeat.fingerprints
import app.revanced.patcher.extensions.or import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint

View File

@ -1,4 +1,4 @@
package app.revanced.patches.youtube.overlaybutton.autorepeat.fingerprints package app.revanced.patches.youtube.overlaybutton.alwaysrepeat.fingerprints
import app.revanced.patcher.extensions.or import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint

View File

@ -1,4 +1,4 @@
package app.revanced.patches.youtube.overlaybutton.autorepeat.fingerprints package app.revanced.patches.youtube.overlaybutton.alwaysrepeat.fingerprints
import app.revanced.patcher.extensions.or import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint

View File

@ -1,4 +1,4 @@
package app.revanced.patches.youtube.overlaybutton.autorepeat.patch package app.revanced.patches.youtube.overlaybutton.alwaysrepeat.patch
import app.revanced.extensions.toErrorResult import app.revanced.extensions.toErrorResult
import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Name
@ -15,9 +15,9 @@ import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patcher.util.smali.ExternalLabel
import app.revanced.patches.youtube.overlaybutton.autorepeat.fingerprints.AutoNavInformerFingerprint import app.revanced.patches.youtube.overlaybutton.alwaysrepeat.fingerprints.AutoNavInformerFingerprint
import app.revanced.patches.youtube.overlaybutton.autorepeat.fingerprints.VideoEndFingerprint import app.revanced.patches.youtube.overlaybutton.alwaysrepeat.fingerprints.VideoEndFingerprint
import app.revanced.patches.youtube.overlaybutton.autorepeat.fingerprints.VideoEndParentFingerprint import app.revanced.patches.youtube.overlaybutton.alwaysrepeat.fingerprints.VideoEndParentFingerprint
import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility
import app.revanced.patches.youtube.utils.fingerprints.PlayerPatchFingerprint import app.revanced.patches.youtube.utils.fingerprints.PlayerPatchFingerprint
import app.revanced.util.integrations.Constants.INTEGRATIONS_PATH import app.revanced.util.integrations.Constants.INTEGRATIONS_PATH
@ -28,7 +28,7 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Name("always-repeat") @Name("always-repeat")
@YouTubeCompatibility @YouTubeCompatibility
@Version("0.0.1") @Version("0.0.1")
class AutoRepeatPatch : BytecodePatch( class AlwaysRepeatPatch : BytecodePatch(
listOf( listOf(
AutoNavInformerFingerprint, AutoNavInformerFingerprint,
PlayerPatchFingerprint, PlayerPatchFingerprint,
@ -42,11 +42,11 @@ class AutoRepeatPatch : BytecodePatch(
addInstructionsWithLabels( addInstructionsWithLabels(
0, """ 0, """
invoke-static {}, $UTILS_PATH/AlwaysRepeatPatch;->shouldRepeatAndPause()V invoke-static {}, $UTILS_PATH/AlwaysRepeatPatch;->shouldRepeatAndPause()V
invoke-static {}, $VIDEO_PATH/VideoInformation;->shouldAutoRepeat()Z invoke-static {}, $VIDEO_PATH/VideoInformation;->shouldAlwaysRepeat()Z
move-result v0 move-result v0
if-eqz v0, :notrepeat if-eqz v0, :end
return-void return-void
""", ExternalLabel("notrepeat", getInstruction(0)) """, ExternalLabel("end", getInstruction(0))
) )
} }
} ?: return VideoEndFingerprint.toErrorResult() } ?: return VideoEndFingerprint.toErrorResult()

View File

@ -10,7 +10,7 @@ import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.youtube.overlaybutton.autorepeat.patch.AutoRepeatPatch import app.revanced.patches.youtube.overlaybutton.alwaysrepeat.patch.AlwaysRepeatPatch
import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility
import app.revanced.patches.youtube.utils.overridespeed.patch.OverrideSpeedHookPatch import app.revanced.patches.youtube.utils.overridespeed.patch.OverrideSpeedHookPatch
import app.revanced.patches.youtube.utils.playerbutton.patch.PlayerButtonHookPatch import app.revanced.patches.youtube.utils.playerbutton.patch.PlayerButtonHookPatch
@ -26,10 +26,10 @@ import org.w3c.dom.Element
@Patch @Patch
@Name("overlay-buttons") @Name("overlay-buttons")
@Description("Add overlay buttons to the player such as copy video link, auto-repeat, download and speed control.") @Description("Add overlay buttons to the player.")
@DependsOn( @DependsOn(
[ [
AutoRepeatPatch::class, AlwaysRepeatPatch::class,
OverrideSpeedHookPatch::class, OverrideSpeedHookPatch::class,
PlayerButtonHookPatch::class, PlayerButtonHookPatch::class,
PlayerControlsPatch::class, PlayerControlsPatch::class,
@ -47,11 +47,11 @@ class OverlayButtonsPatch : ResourcePatch {
* Inject hook * Inject hook
*/ */
arrayOf( arrayOf(
"Download", "AlwaysRepeat",
"AutoRepeat", "CopyVideoUrl",
"CopyWithTimeStamp", "CopyVideoUrlTimestamp",
"Copy", "ExternalDownload",
"Speed" "SpeedDialog"
).forEach { ).forEach {
PlayerControlsPatch.initializeControl("$BUTTON_PATH/$it;") PlayerControlsPatch.initializeControl("$BUTTON_PATH/$it;")
PlayerControlsPatch.injectVisibility("$BUTTON_PATH/$it;") PlayerControlsPatch.injectVisibility("$BUTTON_PATH/$it;")
@ -111,7 +111,7 @@ class OverlayButtonsPatch : ResourcePatch {
// Change the relationship between buttons // Change the relationship between buttons
it.getAttributeNode("yt:layout_constraintRight_toLeftOf")?.let { attribute -> it.getAttributeNode("yt:layout_constraintRight_toLeftOf")?.let { attribute ->
if (attribute.textContent == "@id/fullscreen_button") { if (attribute.textContent == "@id/fullscreen_button") {
attribute.textContent = "@+id/speed_button" attribute.textContent = "@+id/speed_dialog_button"
} }
} }

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yt="http://schemas.android.com/apk/res-auto" android:id="@+id/youtube_controls_bottom_ui_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layoutDirection="ltr"> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yt="http://schemas.android.com/apk/res-auto" android:id="@+id/youtube_controls_bottom_ui_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layoutDirection="ltr">
<com.google.android.libraries.youtube.common.ui.TouchImageView android:id="@+id/speed_button" android:paddingLeft="0dp" android:paddingTop="0dp" android:paddingRight="0dp" android:paddingBottom="0dp" android:longClickable="false" android:layout_width="45dp" android:layout_height="45dp" android:src="@drawable/revanced_speed_icon" android:scaleType="center" yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/copy_button" style="@style/YouTubePlayerButton"/> <com.google.android.libraries.youtube.common.ui.TouchImageView android:id="@+id/speed_dialog_button" android:paddingLeft="0dp" android:paddingTop="0dp" android:paddingRight="0dp" android:paddingBottom="0dp" android:longClickable="false" android:layout_width="45dp" android:layout_height="45dp" android:src="@drawable/revanced_speed_icon" android:scaleType="center" yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/copy_video_url_button" style="@style/YouTubePlayerButton"/>
<com.google.android.libraries.youtube.common.ui.TouchImageView android:id="@+id/copy_button" android:paddingLeft="0dp" android:paddingTop="0dp" android:paddingRight="0dp" android:paddingBottom="0dp" android:longClickable="false" android:layout_width="45dp" android:layout_height="45dp" android:src="@drawable/revanced_copy_icon" android:scaleType="center" yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/copy_with_timestamp_button" style="@style/YouTubePlayerButton"/> <com.google.android.libraries.youtube.common.ui.TouchImageView android:id="@+id/copy_video_url_button" android:paddingLeft="0dp" android:paddingTop="0dp" android:paddingRight="0dp" android:paddingBottom="0dp" android:longClickable="false" android:layout_width="45dp" android:layout_height="45dp" android:src="@drawable/revanced_copy_icon" android:scaleType="center" yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/copy_video_url_timestamp_button" style="@style/YouTubePlayerButton"/>
<com.google.android.libraries.youtube.common.ui.TouchImageView android:id="@+id/copy_with_timestamp_button" android:paddingLeft="0dp" android:paddingTop="0dp" android:paddingRight="0dp" android:paddingBottom="0dp" android:longClickable="false" android:layout_width="45dp" android:layout_height="45dp" android:src="@drawable/revanced_copy_icon_with_time" android:scaleType="center" yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/autoreplay_button" style="@style/YouTubePlayerButton"/> <com.google.android.libraries.youtube.common.ui.TouchImageView android:id="@+id/copy_video_url_timestamp_button" android:paddingLeft="0dp" android:paddingTop="0dp" android:paddingRight="0dp" android:paddingBottom="0dp" android:longClickable="false" android:layout_width="45dp" android:layout_height="45dp" android:src="@drawable/revanced_copy_icon_with_time" android:scaleType="center" yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/always_repeat_button" style="@style/YouTubePlayerButton"/>
<com.google.android.libraries.youtube.common.ui.TouchImageView android:id="@+id/autoreplay_button" android:paddingLeft="0dp" android:paddingTop="0dp" android:paddingRight="0dp" android:paddingBottom="0dp" android:longClickable="false" android:layout_width="45dp" android:layout_height="45dp" android:src="@drawable/revanced_repeat_icon" android:scaleType="center" yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/download_button" style="@style/YouTubePlayerButton"/> <com.google.android.libraries.youtube.common.ui.TouchImageView android:id="@+id/always_repeat_button" android:paddingLeft="0dp" android:paddingTop="0dp" android:paddingRight="0dp" android:paddingBottom="0dp" android:longClickable="false" android:layout_width="45dp" android:layout_height="45dp" android:src="@drawable/revanced_repeat_icon" android:scaleType="center" yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/external_download_button" style="@style/YouTubePlayerButton"/>
<com.google.android.libraries.youtube.common.ui.TouchImageView android:id="@+id/download_button" android:paddingLeft="0dp" android:paddingTop="0dp" android:paddingRight="0dp" android:paddingBottom="0dp" android:longClickable="false" android:layout_width="45dp" android:layout_height="45dp" android:src="@drawable/revanced_download_icon" android:scaleType="center" yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button" style="@style/YouTubePlayerButton"/> <com.google.android.libraries.youtube.common.ui.TouchImageView android:id="@+id/external_download_button" android:paddingLeft="0dp" android:paddingTop="0dp" android:paddingRight="0dp" android:paddingBottom="0dp" android:longClickable="false" android:layout_width="45dp" android:layout_height="45dp" android:src="@drawable/revanced_download_icon" android:scaleType="center" yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button" style="@style/YouTubePlayerButton"/>
</android.support.constraint.ConstraintLayout> </android.support.constraint.ConstraintLayout>

View File

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string-array name="revanced_downloader_label"> <string-array name="revanced_external_downloader_label">
<item>NewPipe</item> <item>NewPipe</item>
<item>NewPipe x SponsorBlock</item> <item>NewPipe x SponsorBlock</item>
<item>Seal</item> <item>Seal</item>
<item>YTDLnis</item> <item>YTDLnis</item>
</string-array> </string-array>
<string-array name="revanced_downloader_package_name"> <string-array name="revanced_external_downloader_package_name">
<item>org.schabi.newpipe</item> <item>org.schabi.newpipe</item>
<item>org.polymorphicshade.newpipe</item> <item>org.polymorphicshade.newpipe</item>
<item>com.junkfood.seal</item> <item>com.junkfood.seal</item>
<item>com.deniscerri.ytdl</item> <item>com.deniscerri.ytdl</item>
</string-array> </string-array>
<string-array name="revanced_downloader_website"> <string-array name="revanced_external_downloader_website">
<item>https://github.com/TeamNewPipe/NewPipe/releases/latest</item> <item>https://github.com/TeamNewPipe/NewPipe/releases/latest</item>
<item>https://github.com/polymorphicshade/NewPipe/releases/latest</item> <item>https://github.com/polymorphicshade/NewPipe/releases/latest</item>
<item>https://github.com/JunkFood02/Seal/releases/latest</item> <item>https://github.com/JunkFood02/Seal/releases/latest</item>

View File

@ -16,7 +16,7 @@
<string name="revanced_change_homepage_summary_on">Current homepage: Subscriptions</string> <string name="revanced_change_homepage_summary_on">Current homepage: Subscriptions</string>
<string name="revanced_change_homepage_title">Change homepage to subscriptions</string> <string name="revanced_change_homepage_title">Change homepage to subscriptions</string>
<string name="revanced_comments_title">Comments</string> <string name="revanced_comments_title">Comments</string>
<string name="revanced_copytimestamp_success">Time Stamp copied to clipboard</string> <string name="revanced_copy_video_timestamp_success">Time Stamp copied to clipboard</string>
<string name="revanced_custom_filter_strings_summary">Filter components by line-separated names</string> <string name="revanced_custom_filter_strings_summary">Filter components by line-separated names</string>
<string name="revanced_custom_filter_strings_title">Edit custom filter</string> <string name="revanced_custom_filter_strings_title">Edit custom filter</string>
<string name="revanced_custom_filter_summary_off">Custom filter is disabled</string> <string name="revanced_custom_filter_summary_off">Custom filter is disabled</string>
@ -65,11 +65,6 @@
<string name="revanced_disable_quic_protocol_title">Disable QUIC protocol</string> <string name="revanced_disable_quic_protocol_title">Disable QUIC protocol</string>
<string name="revanced_double_back_timeout_summary">The amount of seconds the double press back to exit</string> <string name="revanced_double_back_timeout_summary">The amount of seconds the double press back to exit</string>
<string name="revanced_double_back_timeout_title">Double back timeout</string> <string name="revanced_double_back_timeout_title">Double back timeout</string>
<string name="revanced_downloader_not_installed">is not installed. Please install it.</string>
<string name="revanced_downloader_package_name_summary">"Package name of the downloader app such as NewPipe's"</string>
<string name="revanced_downloader_package_name_title">Downloader package name</string>
<string name="revanced_downloader_settings_summary">Default downloader related settings</string>
<string name="revanced_downloader_settings_title">Downloader settings</string>
<string name="revanced_enable_compact_controls_overlay_summary_off">Compact controls overlay is disabled</string> <string name="revanced_enable_compact_controls_overlay_summary_off">Compact controls overlay is disabled</string>
<string name="revanced_enable_compact_controls_overlay_summary_on">Compact controls overlay is enabled</string> <string name="revanced_enable_compact_controls_overlay_summary_on">Compact controls overlay is enabled</string>
<string name="revanced_enable_compact_controls_overlay_title">Enable compact controls overlay</string> <string name="revanced_enable_compact_controls_overlay_title">Enable compact controls overlay</string>
@ -150,6 +145,13 @@
<string name="revanced_export_settings_title">Export settings</string> <string name="revanced_export_settings_title">Export settings</string>
<string name="revanced_extended_support_center_summary">Report issues or leave suggestions here</string> <string name="revanced_extended_support_center_summary">Report issues or leave suggestions here</string>
<string name="revanced_extended_support_center_title">Support Center</string> <string name="revanced_extended_support_center_title">Support Center</string>
<string name="revanced_external_downloader_installed">Installed</string>
<string name="revanced_external_downloader_name_summary">Package name of your installed external downloader app, such as NewPipe or YTDLnis</string>
<string name="revanced_external_downloader_name_title">External downloader package name</string>
<string name="revanced_external_downloader_not_installed">Not installed</string>
<string name="revanced_external_downloader_not_installed_warning" formatted="false">%s is not installed. Please install it.</string>
<string name="revanced_external_downloader_settings_summary">Settings for using an external downloader</string>
<string name="revanced_external_downloader_settings_title">External downloader settings</string>
<string name="revanced_flyout_menu">Flyout menu</string> <string name="revanced_flyout_menu">Flyout menu</string>
<string name="revanced_fullscreen">Fullscreen</string> <string name="revanced_fullscreen">Fullscreen</string>
<string name="revanced_general">General</string> <string name="revanced_general">General</string>
@ -481,22 +483,22 @@
<string name="revanced_open_library_startup_title">Open library on app startup</string> <string name="revanced_open_library_startup_title">Open library on app startup</string>
<string name="revanced_others">Others</string> <string name="revanced_others">Others</string>
<string name="revanced_overlay_button">Overlay button</string> <string name="revanced_overlay_button">Overlay button</string>
<string name="revanced_overlay_button_auto_repeat_summary_off">Auto repeat button is hidden</string> <string name="revanced_overlay_button_always_repeat_notice">Tap and hold to toggle pause after repeat states</string>
<string name="revanced_overlay_button_auto_repeat_summary_on">Auto repeat button is shown</string> <string name="revanced_overlay_button_always_repeat_summary">"Tap to toggle always repeat states
<string name="revanced_overlay_button_auto_repeat_title">Show auto repeat button</string> Tap and hold to toggle pause after repeat states"</string>
<string name="revanced_overlay_button_copy_url_summary_off">Copy link button is hidden</string> <string name="revanced_overlay_button_always_repeat_title">Show always repeat button</string>
<string name="revanced_overlay_button_copy_url_summary_on">Copy link button is shown</string> <string name="revanced_overlay_button_copy_video_url_summary">"Tap to copy video URL
<string name="revanced_overlay_button_copy_url_title">Show copy link button</string> Tap and hold to copy video URL with timestamp"</string>
<string name="revanced_overlay_button_copy_url_with_timestamp_summary_off">Copy link with timestamp button is hidden</string> <string name="revanced_overlay_button_copy_video_url_title">Show copy video URL button</string>
<string name="revanced_overlay_button_copy_url_with_timestamp_summary_on">Copy link with timestamp button is shown</string> <string name="revanced_overlay_button_copy_video_url_timestamp_summary">"Tap to copy video URL with timestamp
<string name="revanced_overlay_button_copy_url_with_timestamp_title">Show copy link with timestamp button</string> Tap and hold to copy video timestamp"</string>
<string name="revanced_overlay_button_downloads_summary_off">Download button is hidden</string> <string name="revanced_overlay_button_copy_video_url_timestamp_title">Show copy timestamp URL button</string>
<string name="revanced_overlay_button_downloads_summary_on">Download button is shown</string> <string name="revanced_overlay_button_external_downloader_summary">Tap to launch external downloader</string>
<string name="revanced_overlay_button_downloads_title">Show download button</string> <string name="revanced_overlay_button_external_downloader_title">Show external download button</string>
<string name="revanced_overlay_button_speed_reset">Video speed reseted (1.0x)</string> <string name="revanced_overlay_button_speed_dialog_reset">Video speed reseted (1.0x)</string>
<string name="revanced_overlay_button_speed_summary_off">Speed button is hidden</string> <string name="revanced_overlay_button_speed_dialog_summary">"Tap to open speed dialog
<string name="revanced_overlay_button_speed_summary_on">Speed button is shown</string> Tap and hold to set video speed to 1.0x"</string>
<string name="revanced_overlay_button_speed_title">Show speed button</string> <string name="revanced_overlay_button_speed_dialog_title">Show speed button</string>
<string name="revanced_override_premium_header_summary_off">Current Header: Default Header</string> <string name="revanced_override_premium_header_summary_off">Current Header: Default Header</string>
<string name="revanced_override_premium_header_summary_on">Current Header: Premium Header</string> <string name="revanced_override_premium_header_summary_on">Current Header: Premium Header</string>
<string name="revanced_override_premium_header_title">Premium Header</string> <string name="revanced_override_premium_header_title">Premium Header</string>

View File

@ -414,14 +414,14 @@
<!-- PREFERENCE: OVERLAY_BUTTONS <!-- PREFERENCE: OVERLAY_BUTTONS
<PreferenceScreen android:title="@string/revanced_overlay_button" android:key="overlay_button"> <PreferenceScreen android:title="@string/revanced_overlay_button" android:key="overlay_button">
<Preference android:title=" " android:selectable="false" android:summary="@string/revanced_overlay_button" /> <Preference android:title=" " android:selectable="false" android:summary="@string/revanced_overlay_button" />
<SwitchPreference android:title="@string/revanced_overlay_button_auto_repeat_title" android:key="revanced_overlay_button_auto_repeat" android:defaultValue="false" android:summaryOn="@string/revanced_overlay_button_auto_repeat_summary_on" android:summaryOff="@string/revanced_overlay_button_auto_repeat_summary_off" /> <SwitchPreference android:title="@string/revanced_overlay_button_always_repeat_title" android:key="revanced_overlay_button_always_repeat" android:defaultValue="true" android:summary="@string/revanced_overlay_button_always_repeat_summary" />
<SwitchPreference android:title="@string/revanced_overlay_button_copy_url_title" android:key="revanced_overlay_button_copy_url" android:defaultValue="false" android:summaryOn="@string/revanced_overlay_button_copy_url_summary_on" android:summaryOff="@string/revanced_overlay_button_copy_url_summary_off" /> <SwitchPreference android:title="@string/revanced_overlay_button_copy_video_url_title" android:key="revanced_overlay_button_copy_video_url" android:defaultValue="true" android:summary="@string/revanced_overlay_button_copy_video_url_summary" />
<SwitchPreference android:title="@string/revanced_overlay_button_copy_url_with_timestamp_title" android:key="revanced_overlay_button_copy_url_with_timestamp" android:defaultValue="false" android:summaryOn="@string/revanced_overlay_button_copy_url_with_timestamp_summary_on" android:summaryOff="@string/revanced_overlay_button_copy_url_with_timestamp_summary_off" /> <SwitchPreference android:title="@string/revanced_overlay_button_copy_video_url_timestamp_title" android:key="revanced_overlay_button_copy_video_url_timestamp" android:defaultValue="false" android:summary="@string/revanced_overlay_button_copy_video_url_timestamp_summary" />
<SwitchPreference android:title="@string/revanced_overlay_button_downloads_title" android:key="revanced_overlay_button_downloads" android:defaultValue="true" android:summaryOn="@string/revanced_overlay_button_downloads_summary_on" android:summaryOff="@string/revanced_overlay_button_downloads_summary_off" /> <SwitchPreference android:title="@string/revanced_overlay_button_external_downloader_title" android:key="revanced_overlay_button_external_downloader" android:defaultValue="false" android:summary="@string/revanced_overlay_button_external_downloader_summary" />
<SwitchPreference android:title="@string/revanced_overlay_button_speed_title" android:key="revanced_overlay_button_speed" android:defaultValue="true" android:summaryOn="@string/revanced_overlay_button_speed_summary_on" android:summaryOff="@string/revanced_overlay_button_speed_summary_off" /> <SwitchPreference android:title="@string/revanced_overlay_button_speed_dialog_title" android:key="revanced_overlay_button_speed_dialog" android:defaultValue="true" android:summary="@string/revanced_overlay_button_speed_dialog_summary" />
<PreferenceScreen android:title="@string/revanced_downloader_settings_title" android:key="downloader" android:summary="@string/revanced_downloader_settings_summary"> <PreferenceScreen android:title="@string/revanced_external_downloader_settings_title" android:key="downloader" android:summary="@string/revanced_external_downloader_settings_summary">
<Preference android:title=" " android:selectable="false" android:summary="@string/revanced_downloader_settings_title" /> <Preference android:title=" " android:selectable="false" android:summary="@string/revanced_external_downloader_settings_title" />
<app.revanced.integrations.settingsmenu.ResettableEditTextPreference android:hint="org.schabi.newpipe" android:title="@string/revanced_downloader_package_name_title" android:key="revanced_downloader_package_name" android:summary="@string/revanced_downloader_package_name_summary" android:inputType="text" /> <app.revanced.integrations.settingsmenu.ResettableEditTextPreference android:hint="com.deniscerri.ytdl" android:title="@string/revanced_external_downloader_name_title" android:key="revanced_external_downloader_name" android:summary="@string/revanced_external_downloader_name_summary" android:inputType="text" />
</PreferenceScreen> </PreferenceScreen>
</PreferenceScreen>PREFERENCE: OVERLAY_BUTTONS --> </PreferenceScreen>PREFERENCE: OVERLAY_BUTTONS -->