diff --git a/src/main/kotlin/app/revanced/patches/youtube/alternativethumbnails/general/patch/AlternativeThumbnailsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/alternativethumbnails/general/patch/AlternativeThumbnailsPatch.kt
index c365b930f..d6978c8a0 100644
--- a/src/main/kotlin/app/revanced/patches/youtube/alternativethumbnails/general/patch/AlternativeThumbnailsPatch.kt
+++ b/src/main/kotlin/app/revanced/patches/youtube/alternativethumbnails/general/patch/AlternativeThumbnailsPatch.kt
@@ -17,6 +17,7 @@ import app.revanced.patches.youtube.alternativethumbnails.general.fingerprints.M
import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility
import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch.Companion.contexts
+import app.revanced.util.integrations.Constants.ALTERNATIVE_THUMBNAILS
import app.revanced.util.resources.ResourceUtils.copyXmlNode
@Patch
@@ -45,7 +46,7 @@ class AlternativeThumbnailsPatch : BytecodePatch(
it.mutableMethod.apply {
addInstructions(
0, """
- invoke-static { p1 }, $INTEGRATIONS_CLASS_DESCRIPTOR->overrideImageURL(Ljava/lang/String;)Ljava/lang/String;
+ invoke-static { p1 }, $ALTERNATIVE_THUMBNAILS->overrideImageURL(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
"""
)
@@ -68,7 +69,7 @@ class AlternativeThumbnailsPatch : BytecodePatch(
it.mutableMethod.apply {
addInstruction(
0,
- "invoke-static { p2 }, $INTEGRATIONS_CLASS_DESCRIPTOR->handleCronetSuccess(Lorg/chromium/net/UrlResponseInfo;)V"
+ "invoke-static { p2 }, $ALTERNATIVE_THUMBNAILS->handleCronetSuccess(Lorg/chromium/net/UrlResponseInfo;)V"
)
}
} ?: throw CronetURLRequestCallbackOnSucceededFingerprint.exception
@@ -90,9 +91,4 @@ class AlternativeThumbnailsPatch : BytecodePatch(
SettingsPatch.updatePatchStatus("alternative-thumbnails")
}
-
- internal companion object {
- private const val INTEGRATIONS_CLASS_DESCRIPTOR =
- "Lapp/revanced/integrations/alternativethumbnails/AlternativeThumbnailsPatch;"
- }
}
diff --git a/src/main/kotlin/app/revanced/util/integrations/Constants.kt b/src/main/kotlin/app/revanced/util/integrations/Constants.kt
index d6bbd9f63..00b86665a 100644
--- a/src/main/kotlin/app/revanced/util/integrations/Constants.kt
+++ b/src/main/kotlin/app/revanced/util/integrations/Constants.kt
@@ -5,6 +5,7 @@ internal object Constants {
const val PATCHES_PATH = "$INTEGRATIONS_PATH/patches"
const val ADS_PATH = "$PATCHES_PATH/ads"
+ const val ALTERNATIVE_THUMBNAILS = "$PATCHES_PATH/layout/AlternativeThumbnailsPatch;"
const val SWIPE_PATH = "$PATCHES_PATH/swipe"
const val FLYOUT_PANEL = "$PATCHES_PATH/layout/FlyoutPanelPatch;"
const val FULLSCREEN = "$PATCHES_PATH/layout/FullscreenPatch;"
diff --git a/src/main/resources/youtube/settings/host/values/strings.xml b/src/main/resources/youtube/settings/host/values/strings.xml
index 6c2bc9d09..8aa847935 100644
--- a/src/main/resources/youtube/settings/host/values/strings.xml
+++ b/src/main/resources/youtube/settings/host/values/strings.xml
@@ -10,12 +10,12 @@
Alternative thumbnails
Alternative thumbnails are still images from the beginning/middle/end of each video. No external API is used, as these images are built into YouTube
About
+ Original YouTube thumbnails shown
+ YouTube thumbnails replaced with alternative ones
+ Enable alternative thumbnails
Using high quality stills but will have more delay
Using medium quality stills. Thumbnails will load faster, but live streams, unreleased, or very old videos may show blank thumbnails
Use fast alternative thumbnails
- Original YouTube thumbnails shown
- YouTube thumbnails replaced with alternative ones
- Enable alternative thumbnails
Beginning of video
Middle of video
End of video
diff --git a/src/main/resources/youtube/settings/xml/revanced_prefs.xml b/src/main/resources/youtube/settings/xml/revanced_prefs.xml
index e78e4e0fe..f58bd51f3 100644
--- a/src/main/resources/youtube/settings/xml/revanced_prefs.xml
+++ b/src/main/resources/youtube/settings/xml/revanced_prefs.xml
@@ -30,7 +30,7 @@