From 1edc5f1c64da9925d183b4853aa036525f71b8ba Mon Sep 17 00:00:00 2001
From: inotia00 <108592928+inotia00@users.noreply.github.com>
Date: Fri, 27 Oct 2023 10:16:34 +0900
Subject: [PATCH] fix(YouTube/SponsorBlock): changed to selectable through
`options.json`
---
.../utils/sponsorblock/SponsorBlockPatch.kt | 76 +++++++++----
.../default/drawable/ic_sb_adjust.xml | 10 ++
.../default/drawable/ic_sb_compare.xml | 10 ++
.../default/drawable/ic_sb_edit.xml | 10 ++
.../default/drawable/ic_sb_logo.xml | 13 +++
.../default/drawable/ic_sb_publish.xml | 10 ++
.../{ => default}/drawable/ic_sb_voting.xml | 0
.../default/layout/inline_sponsor_overlay.xml | 35 ++++++
.../default/layout/new_segment.xml | 107 ++++++++++++++++++
.../layout/skip_sponsor_button.xml | 0
.../{ => outline}/drawable/ic_sb_adjust.xml | 0
.../{ => outline}/drawable/ic_sb_backward.xml | 0
.../{ => outline}/drawable/ic_sb_compare.xml | 0
.../{ => outline}/drawable/ic_sb_edit.xml | 0
.../{ => outline}/drawable/ic_sb_forward.xml | 0
.../{ => outline}/drawable/ic_sb_logo.xml | 0
.../{ => outline}/drawable/ic_sb_publish.xml | 0
.../outline/drawable/ic_sb_voting.xml | 11 ++
.../{ => outline}/drawable/ns_bg.xml | 0
.../layout/inline_sponsor_overlay.xml | 0
.../{ => outline}/layout/new_segment.xml | 0
.../outline/layout/skip_sponsor_button.xml | 35 ++++++
.../host/layout/youtube_controls_layout.xml | 0
23 files changed, 292 insertions(+), 25 deletions(-)
create mode 100644 src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_adjust.xml
create mode 100644 src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_compare.xml
create mode 100644 src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_edit.xml
create mode 100644 src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_logo.xml
create mode 100644 src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_publish.xml
rename src/main/resources/youtube/sponsorblock/{ => default}/drawable/ic_sb_voting.xml (100%)
create mode 100644 src/main/resources/youtube/sponsorblock/default/layout/inline_sponsor_overlay.xml
create mode 100644 src/main/resources/youtube/sponsorblock/default/layout/new_segment.xml
rename src/main/resources/youtube/sponsorblock/{ => default}/layout/skip_sponsor_button.xml (100%)
rename src/main/resources/youtube/sponsorblock/{ => outline}/drawable/ic_sb_adjust.xml (100%)
rename src/main/resources/youtube/sponsorblock/{ => outline}/drawable/ic_sb_backward.xml (100%)
rename src/main/resources/youtube/sponsorblock/{ => outline}/drawable/ic_sb_compare.xml (100%)
rename src/main/resources/youtube/sponsorblock/{ => outline}/drawable/ic_sb_edit.xml (100%)
rename src/main/resources/youtube/sponsorblock/{ => outline}/drawable/ic_sb_forward.xml (100%)
rename src/main/resources/youtube/sponsorblock/{ => outline}/drawable/ic_sb_logo.xml (100%)
rename src/main/resources/youtube/sponsorblock/{ => outline}/drawable/ic_sb_publish.xml (100%)
create mode 100644 src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_voting.xml
rename src/main/resources/youtube/sponsorblock/{ => outline}/drawable/ns_bg.xml (100%)
rename src/main/resources/youtube/sponsorblock/{ => outline}/layout/inline_sponsor_overlay.xml (100%)
rename src/main/resources/youtube/sponsorblock/{ => outline}/layout/new_segment.xml (100%)
create mode 100644 src/main/resources/youtube/sponsorblock/outline/layout/skip_sponsor_button.xml
rename src/main/resources/youtube/sponsorblock/{ => shared}/host/layout/youtube_controls_layout.xml (100%)
diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/sponsorblock/SponsorBlockPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/sponsorblock/SponsorBlockPatch.kt
index 81a165c33..49c14ecd3 100644
--- a/src/main/kotlin/app/revanced/patches/youtube/utils/sponsorblock/SponsorBlockPatch.kt
+++ b/src/main/kotlin/app/revanced/patches/youtube/utils/sponsorblock/SponsorBlockPatch.kt
@@ -4,6 +4,7 @@ import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotation.CompatiblePackage
import app.revanced.patcher.patch.annotation.Patch
+import app.revanced.patcher.patch.options.types.BooleanPatchOption.Companion.booleanPatchOption
import app.revanced.patches.youtube.utils.settings.SettingsPatch
import app.revanced.util.resources.ResourceUtils
import app.revanced.util.resources.ResourceUtils.copyResources
@@ -41,40 +42,65 @@ import app.revanced.util.resources.ResourceUtils.copyXmlNode
)
@Suppress("unused")
object SponsorBlockPatch : ResourcePatch() {
+ internal var OutlineIcon by booleanPatchOption(
+ key = "OutlineIcon",
+ default = false,
+ title = "Outline icons",
+ description = "Apply the outline icon"
+ )
override fun execute(context: ResourceContext) {
/**
* merge SponsorBlock drawables to main drawables
*/
-
- arrayOf(
- ResourceUtils.ResourceGroup(
- "layout",
- "inline_sponsor_overlay.xml",
- "new_segment.xml",
- "skip_sponsor_button.xml"
- ),
- ResourceUtils.ResourceGroup(
- // required resource for back button, because when the base APK is used, this resource will not exist
- "drawable",
- "ic_sb_adjust.xml",
- "ic_sb_compare.xml",
- "ic_sb_edit.xml",
- "ic_sb_logo.xml",
- "ic_sb_publish.xml",
- "ns_bg.xml",
- "ic_sb_forward.xml",
- "ic_sb_backward.xml",
- "ic_sb_voting.xml"
- )
- ).forEach { resourceGroup ->
- context.copyResources("youtube/sponsorblock", resourceGroup)
+ if (OutlineIcon == true) {
+ arrayOf(
+ ResourceUtils.ResourceGroup(
+ "layout",
+ "inline_sponsor_overlay.xml",
+ "new_segment.xml",
+ "skip_sponsor_button.xml"
+ ),
+ ResourceUtils.ResourceGroup(
+ "drawable",
+ "ic_sb_adjust.xml",
+ "ic_sb_backward.xml",
+ "ic_sb_compare.xml",
+ "ic_sb_edit.xml",
+ "ic_sb_forward.xml",
+ "ic_sb_logo.xml",
+ "ic_sb_publish.xml",
+ "ic_sb_voting.xml",
+ "ns_bg.xml"
+ )
+ ).forEach { resourceGroup ->
+ context.copyResources("youtube/sponsorblock/outline", resourceGroup)
+ }
+ } else {
+ arrayOf(
+ ResourceUtils.ResourceGroup(
+ "layout",
+ "inline_sponsor_overlay.xml",
+ "new_segment.xml",
+ "skip_sponsor_button.xml"
+ ),
+ ResourceUtils.ResourceGroup(
+ "drawable",
+ "ic_sb_adjust.xml",
+ "ic_sb_compare.xml",
+ "ic_sb_edit.xml",
+ "ic_sb_logo.xml",
+ "ic_sb_publish.xml",
+ "ic_sb_voting.xml"
+ )
+ ).forEach { resourceGroup ->
+ context.copyResources("youtube/sponsorblock/default", resourceGroup)
+ }
}
/**
* merge xml nodes from the host to their real xml files
*/
-
// collect all host resources
val hostingXmlResources = mapOf("layout" to arrayOf("youtube_controls_layout"))
@@ -82,7 +108,7 @@ object SponsorBlockPatch : ResourcePatch() {
hostingXmlResources.forEach { (path, resources) ->
resources.forEach { resource ->
val hostingResourceStream =
- this.javaClass.classLoader.getResourceAsStream("youtube/sponsorblock/host/$path/$resource.xml")!!
+ this.javaClass.classLoader.getResourceAsStream("youtube/sponsorblock/shared/host/$path/$resource.xml")!!
val targetXmlEditor = context.xmlEditor["res/$path/$resource.xml"]
"RelativeLayout".copyXmlNode(
diff --git a/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_adjust.xml b/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_adjust.xml
new file mode 100644
index 000000000..76a4b8bc9
--- /dev/null
+++ b/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_adjust.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_compare.xml b/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_compare.xml
new file mode 100644
index 000000000..04cc65e40
--- /dev/null
+++ b/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_compare.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_edit.xml b/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_edit.xml
new file mode 100644
index 000000000..e93574bd9
--- /dev/null
+++ b/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_edit.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_logo.xml b/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_logo.xml
new file mode 100644
index 000000000..b6f7d1443
--- /dev/null
+++ b/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_logo.xml
@@ -0,0 +1,13 @@
+
+
+
+
diff --git a/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_publish.xml b/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_publish.xml
new file mode 100644
index 000000000..de4e58d3a
--- /dev/null
+++ b/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_publish.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/src/main/resources/youtube/sponsorblock/drawable/ic_sb_voting.xml b/src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_voting.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/drawable/ic_sb_voting.xml
rename to src/main/resources/youtube/sponsorblock/default/drawable/ic_sb_voting.xml
diff --git a/src/main/resources/youtube/sponsorblock/default/layout/inline_sponsor_overlay.xml b/src/main/resources/youtube/sponsorblock/default/layout/inline_sponsor_overlay.xml
new file mode 100644
index 000000000..2c0385549
--- /dev/null
+++ b/src/main/resources/youtube/sponsorblock/default/layout/inline_sponsor_overlay.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/youtube/sponsorblock/default/layout/new_segment.xml b/src/main/resources/youtube/sponsorblock/default/layout/new_segment.xml
new file mode 100644
index 000000000..be5020be2
--- /dev/null
+++ b/src/main/resources/youtube/sponsorblock/default/layout/new_segment.xml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/youtube/sponsorblock/layout/skip_sponsor_button.xml b/src/main/resources/youtube/sponsorblock/default/layout/skip_sponsor_button.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/layout/skip_sponsor_button.xml
rename to src/main/resources/youtube/sponsorblock/default/layout/skip_sponsor_button.xml
diff --git a/src/main/resources/youtube/sponsorblock/drawable/ic_sb_adjust.xml b/src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_adjust.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/drawable/ic_sb_adjust.xml
rename to src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_adjust.xml
diff --git a/src/main/resources/youtube/sponsorblock/drawable/ic_sb_backward.xml b/src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_backward.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/drawable/ic_sb_backward.xml
rename to src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_backward.xml
diff --git a/src/main/resources/youtube/sponsorblock/drawable/ic_sb_compare.xml b/src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_compare.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/drawable/ic_sb_compare.xml
rename to src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_compare.xml
diff --git a/src/main/resources/youtube/sponsorblock/drawable/ic_sb_edit.xml b/src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_edit.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/drawable/ic_sb_edit.xml
rename to src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_edit.xml
diff --git a/src/main/resources/youtube/sponsorblock/drawable/ic_sb_forward.xml b/src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_forward.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/drawable/ic_sb_forward.xml
rename to src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_forward.xml
diff --git a/src/main/resources/youtube/sponsorblock/drawable/ic_sb_logo.xml b/src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_logo.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/drawable/ic_sb_logo.xml
rename to src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_logo.xml
diff --git a/src/main/resources/youtube/sponsorblock/drawable/ic_sb_publish.xml b/src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_publish.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/drawable/ic_sb_publish.xml
rename to src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_publish.xml
diff --git a/src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_voting.xml b/src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_voting.xml
new file mode 100644
index 000000000..a99bf1a15
--- /dev/null
+++ b/src/main/resources/youtube/sponsorblock/outline/drawable/ic_sb_voting.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/src/main/resources/youtube/sponsorblock/drawable/ns_bg.xml b/src/main/resources/youtube/sponsorblock/outline/drawable/ns_bg.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/drawable/ns_bg.xml
rename to src/main/resources/youtube/sponsorblock/outline/drawable/ns_bg.xml
diff --git a/src/main/resources/youtube/sponsorblock/layout/inline_sponsor_overlay.xml b/src/main/resources/youtube/sponsorblock/outline/layout/inline_sponsor_overlay.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/layout/inline_sponsor_overlay.xml
rename to src/main/resources/youtube/sponsorblock/outline/layout/inline_sponsor_overlay.xml
diff --git a/src/main/resources/youtube/sponsorblock/layout/new_segment.xml b/src/main/resources/youtube/sponsorblock/outline/layout/new_segment.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/layout/new_segment.xml
rename to src/main/resources/youtube/sponsorblock/outline/layout/new_segment.xml
diff --git a/src/main/resources/youtube/sponsorblock/outline/layout/skip_sponsor_button.xml b/src/main/resources/youtube/sponsorblock/outline/layout/skip_sponsor_button.xml
new file mode 100644
index 000000000..185960ec9
--- /dev/null
+++ b/src/main/resources/youtube/sponsorblock/outline/layout/skip_sponsor_button.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/youtube/sponsorblock/host/layout/youtube_controls_layout.xml b/src/main/resources/youtube/sponsorblock/shared/host/layout/youtube_controls_layout.xml
similarity index 100%
rename from src/main/resources/youtube/sponsorblock/host/layout/youtube_controls_layout.xml
rename to src/main/resources/youtube/sponsorblock/shared/host/layout/youtube_controls_layout.xml