From 7fe7ce437c3ee2bb91b189c207048cf45f47b9bb Mon Sep 17 00:00:00 2001 From: drobotk Date: Fri, 13 Mar 2026 12:03:29 +0100 Subject: [PATCH] fix build and crashes --- .../youtube/patches/litho/HorizontalShelvesFilter.java | 2 +- .../patches/music/layout/branding/CustomBrandingPatch.kt | 4 ++-- .../patches/music/misc/spoof/SpoofVideoStreamsPatch.kt | 4 ++-- .../patches/shared/misc/litho/filter/Fingerprints.kt | 2 +- .../youtube/layout/branding/header/ChangeHeaderPatch.kt | 2 -- .../buttons/music/OverrideOpenInYouTubeMusicButtonPatch.kt | 2 ++ .../layout/hide/endscreensuggestedvideo/Fingerprints.kt | 2 +- .../layout/hide/general/HideLayoutComponentsPatch.kt | 1 - .../youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt | 6 +++--- patches/src/main/resources/addresources/values/strings.xml | 2 +- 10 files changed, 13 insertions(+), 14 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/litho/HorizontalShelvesFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/litho/HorizontalShelvesFilter.java index 9e99122778..78b3196237 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/litho/HorizontalShelvesFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/litho/HorizontalShelvesFilter.java @@ -13,7 +13,7 @@ import app.revanced.extension.youtube.shared.NavigationBar.NavigationButton; import app.revanced.extension.youtube.shared.PlayerType; @SuppressWarnings("unused") -final class HorizontalShelvesFilter extends Filter { +public final class HorizontalShelvesFilter extends Filter { private final ByteArrayFilterGroupList descriptionBuffers = new ByteArrayFilterGroupList(); private final ByteArrayFilterGroupList generalBuffers = new ByteArrayFilterGroupList(); diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt index 5b4ab33734..da72569219 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt @@ -6,8 +6,8 @@ import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.music.misc.extension.sharedExtensionPatch import app.revanced.patches.music.misc.gms.Constants.MUSIC_MAIN_ACTIVITY_NAME import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_NAME -import app.revanced.patches.music.misc.gms.musicActivityOnCreateMethod import app.revanced.patches.music.misc.settings.PreferenceScreen +import app.revanced.patches.music.shared.mainActivityOnCreateMethod import app.revanced.patches.shared.layout.branding.EXTENSION_CLASS_DESCRIPTOR import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch import app.revanced.patches.shared.misc.mapping.ResourceType @@ -61,7 +61,7 @@ val customBrandingPatch = baseCustomBrandingPatch( originalAppPackageName = MUSIC_PACKAGE_NAME, isYouTubeMusic = true, numberOfPresetAppNames = 5, - getMainActivityOnCreate = { musicActivityOnCreateMethod }, + getMainActivityOnCreate = { mainActivityOnCreateMethod }, mainActivityName = MUSIC_MAIN_ACTIVITY_NAME, activityAliasNameWithIntents = MUSIC_MAIN_ACTIVITY_NAME, preferenceScreen = PreferenceScreen.GENERAL, diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt index a7c04efff6..7eea0373e5 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt @@ -3,7 +3,7 @@ package app.revanced.patches.music.misc.spoof import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.music.misc.extension.sharedExtensionPatch -import app.revanced.patches.music.misc.gms.musicActivityOnCreateMethod +import app.revanced.patches.music.shared.mainActivityOnCreateMethod import app.revanced.patches.music.misc.settings.PreferenceScreen import app.revanced.patches.music.misc.settings.settingsPatch import app.revanced.patches.music.playservice.* @@ -14,7 +14,7 @@ import app.revanced.patches.shared.misc.spoof.spoofVideoStreamsPatch val spoofVideoStreamsPatch = spoofVideoStreamsPatch( extensionClassDescriptor = "Lapp/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch;", - getMainActivityOnCreateMethod = { musicActivityOnCreateMethod }, + getMainActivityOnCreateMethod = { mainActivityOnCreateMethod }, fixMediaFetchHotConfig = { is_7_16_or_greater }, fixMediaFetchHotConfigAlternative = { is_8_11_or_greater && !is_8_15_or_greater }, fixParsePlaybackResponseFeatureFlag = { is_7_33_or_greater }, diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/litho/filter/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/litho/filter/Fingerprints.kt index b559e0bac1..3999511e10 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/litho/filter/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/litho/filter/Fingerprints.kt @@ -85,7 +85,7 @@ internal val BytecodePatchContext.protobufBufferEncodeMethod by gettingFirstMeth Opcode.IGET_OBJECT(), field { definingClass == methodDefiningClass && type == "Lcom/google/android/libraries/elements/adl/UpbMessage;" }, ), - method { definingClass == "Lcom/google/android/libraries/elements/adl/UpbMessage;" && name == "jniEecode" }, + method { definingClass == "Lcom/google/android/libraries/elements/adl/UpbMessage;" && name == "jniEncode" }, ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt index e2666e8af7..39206b8252 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt @@ -5,11 +5,9 @@ import app.revanced.patcher.extensions.getInstruction import app.revanced.patcher.extensions.wideLiteral import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.util.Document -import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.shared.layout.branding.addBrandLicensePatch import app.revanced.patches.shared.layout.branding.header.CUSTOM_HEADER_RESOURCE_NAME import app.revanced.patches.shared.layout.branding.header.changeHeaderPatch -import app.revanced.patches.shared.layout.branding.header.variants import app.revanced.patches.shared.misc.mapping.ResourceType import app.revanced.patches.shared.misc.mapping.resourceMappingPatch import app.revanced.patches.youtube.misc.settings.PreferenceScreen diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/music/OverrideOpenInYouTubeMusicButtonPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/music/OverrideOpenInYouTubeMusicButtonPatch.kt index 22eb11d900..5304f2ed08 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/music/OverrideOpenInYouTubeMusicButtonPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/music/OverrideOpenInYouTubeMusicButtonPatch.kt @@ -104,6 +104,8 @@ val overrideOpenInYouTubeMusicButtonPatch = bytecodePatch( else -> null } }) { method, (index, methodDescriptor) -> + if (method.definingClass == EXTENSION_CLASS_DESCRIPTOR) return@forEachInstructionAsSequence + val invokeString = when (val instruction = method.getInstruction(index)) { is RegisterRangeInstruction -> "invoke-static/range { v${instruction.startRegister} .. v${instruction.startRegister + instruction.registerCount - 1} }" diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestedvideo/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestedvideo/Fingerprints.kt index 58d4e3f0f0..f57bc82e3d 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestedvideo/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestedvideo/Fingerprints.kt @@ -46,7 +46,7 @@ internal val BytecodePatchContext.removeOnLayoutChangeListenerMethodMatch by com ), allOf(Opcode.INVOKE_VIRTUAL(), method { name == "removeOnLayoutChangeListener" && - returnType == "Z" && + returnType == "V" && definingClass == "Lcom/google/android/apps/youtube/app/common/" + "player/overlay/YouTubePlayerOverlaysLayout;" }), diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt index 0490544503..e4a1555a6d 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt @@ -147,7 +147,6 @@ val hideLayoutComponentsPatch = hideLayoutComponentsPatch( "revanced_comments_screen", preferences = setOf( SwitchPreference("revanced_hide_comments_ai_chat_summary"), - SwitchPreference("revanced_hide_comments_ai_summary"), SwitchPreference("revanced_hide_comments_channel_guidelines"), SwitchPreference("revanced_hide_comments_by_members_header"), SwitchPreference("revanced_hide_comments_section"), diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt index da6d26dd6e..6886b72e10 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsautoplay/ShortsAutoplayPatch.kt @@ -37,7 +37,7 @@ import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/ShortsAutoplayPatch;" -@Suppress("ObjectPropertyName") +@Suppress("unused") val shortsAutoplayPatch = bytecodePatch( name = "Shorts autoplay", description = "Adds options to automatically play the next Short.", @@ -110,10 +110,10 @@ val shortsAutoplayPatch = bytecodePatch( } } else { method { - definingClass == "reelEnumClass" && + definingClass == reelEnumClass && returnType == reelEnumClass && parameterTypes.size == 1 && - parameterTypes[0].startsWith("L") + parameterTypes[0] == "I" } } diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 09034b534a..f9e7dbbfd4 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -1108,7 +1108,7 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide end screen suggested video - "End screen suggested video is hidden + End screen suggested video is hidden End screen suggested video is shown