2022-12-31 18:48:40 +01:00
package app.revanced.patches.youtube.interaction.copyvideourl.resource.patch
import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patches.shared.settings.preference.impl.PreferenceScreen
import app.revanced.patches.shared.settings.preference.impl.StringResource
import app.revanced.patches.shared.settings.preference.impl.SwitchPreference
import app.revanced.patches.youtube.misc.playercontrols.resource.patch.BottomControlsResourcePatch
import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch
import app.revanced.util.resources.ResourceUtils
import app.revanced.util.resources.ResourceUtils.copyResources
2023-05-19 17:42:27 +02:00
import app.revanced.util.resources.ResourceUtils.mergeStrings
2022-12-31 18:48:40 +01:00
2023-02-01 21:49:10 +01:00
@DependsOn ( [ BottomControlsResourcePatch :: class , SettingsPatch :: class ] )
2022-12-31 18:48:40 +01:00
class CopyVideoUrlResourcePatch : ResourcePatch {
2023-08-27 21:40:49 +02:00
override fun execute ( context : ResourceContext ) {
2022-12-31 18:48:40 +01:00
SettingsPatch . PreferenceScreen . INTERACTIONS . addPreferences (
PreferenceScreen (
2023-05-15 09:51:43 +02:00
" revanced_copy_video_url_preference_screen " ,
StringResource ( " revanced_copy_video_url_preference_screen_title " , " Copy video URL settings " ) ,
2022-12-31 18:48:40 +01:00
listOf (
SwitchPreference (
2023-05-15 09:51:43 +02:00
" revanced_copy_video_url " ,
StringResource ( " revanced_copy_video_url_title " , " Show copy video URL button " ) ,
2023-05-19 17:42:27 +02:00
StringResource ( " revanced_copy_video_url_summary_on " , " Button is shown. Tap to copy video URL. Tap and hold to copy video URL with timestamp " ) ,
2023-05-15 09:51:43 +02:00
StringResource ( " revanced_copy_video_url_summary_off " , " Button is not shown " )
2022-12-31 18:48:40 +01:00
) ,
SwitchPreference (
2023-05-15 09:51:43 +02:00
" revanced_copy_video_url_timestamp " ,
StringResource ( " revanced_copy_video_url_timestamp_title " , " Show copy timestamp URL button " ) ,
2023-05-19 17:42:27 +02:00
StringResource ( " revanced_copy_video_url_timestamp_summary_on " , " Button is shown. Tap to copy video URL with timestamp. Tap and hold to copy video without timestamp " ) ,
2023-05-15 09:51:43 +02:00
StringResource ( " revanced_copy_video_url_timestamp_summary_off " , " Button is not shown " )
2022-12-31 18:48:40 +01:00
)
) ,
2023-05-15 09:51:43 +02:00
StringResource ( " revanced_copy_video_url_preference_screen_summary " , " Settings related to copy URL buttons in video player " )
2022-12-31 18:48:40 +01:00
)
)
context . copyResources ( " copyvideourl " , ResourceUtils . ResourceGroup (
resourceDirectoryName = " drawable " ,
" revanced_yt_copy.xml " ,
" revanced_yt_copy_timestamp.xml "
) )
2023-05-19 17:42:27 +02:00
// merge strings
context . mergeStrings ( " copyvideourl/host/values/strings.xml " )
2022-12-31 18:48:40 +01:00
BottomControlsResourcePatch . addControls ( " copyvideourl/host/layout/ ${BottomControlsResourcePatch.TARGET_RESOURCE_NAME} " )
}
}