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 @@