fix build and crashes

This commit is contained in:
drobotk 2026-03-13 12:03:29 +01:00
parent 15096257ca
commit 7fe7ce437c
No known key found for this signature in database
GPG key ID: D53DB3B14C514056
10 changed files with 13 additions and 14 deletions

View file

@ -13,7 +13,7 @@ import app.revanced.extension.youtube.shared.NavigationBar.NavigationButton;
import app.revanced.extension.youtube.shared.PlayerType; import app.revanced.extension.youtube.shared.PlayerType;
@SuppressWarnings("unused") @SuppressWarnings("unused")
final class HorizontalShelvesFilter extends Filter { public final class HorizontalShelvesFilter extends Filter {
private final ByteArrayFilterGroupList descriptionBuffers = new ByteArrayFilterGroupList(); private final ByteArrayFilterGroupList descriptionBuffers = new ByteArrayFilterGroupList();
private final ByteArrayFilterGroupList generalBuffers = new ByteArrayFilterGroupList(); private final ByteArrayFilterGroupList generalBuffers = new ByteArrayFilterGroupList();

View file

@ -6,8 +6,8 @@ import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.music.misc.extension.sharedExtensionPatch 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_MAIN_ACTIVITY_NAME
import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_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.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.EXTENSION_CLASS_DESCRIPTOR
import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch
import app.revanced.patches.shared.misc.mapping.ResourceType import app.revanced.patches.shared.misc.mapping.ResourceType
@ -61,7 +61,7 @@ val customBrandingPatch = baseCustomBrandingPatch(
originalAppPackageName = MUSIC_PACKAGE_NAME, originalAppPackageName = MUSIC_PACKAGE_NAME,
isYouTubeMusic = true, isYouTubeMusic = true,
numberOfPresetAppNames = 5, numberOfPresetAppNames = 5,
getMainActivityOnCreate = { musicActivityOnCreateMethod }, getMainActivityOnCreate = { mainActivityOnCreateMethod },
mainActivityName = MUSIC_MAIN_ACTIVITY_NAME, mainActivityName = MUSIC_MAIN_ACTIVITY_NAME,
activityAliasNameWithIntents = MUSIC_MAIN_ACTIVITY_NAME, activityAliasNameWithIntents = MUSIC_MAIN_ACTIVITY_NAME,
preferenceScreen = PreferenceScreen.GENERAL, preferenceScreen = PreferenceScreen.GENERAL,

View file

@ -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.addResources
import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.all.misc.resources.addResourcesPatch
import app.revanced.patches.music.misc.extension.sharedExtensionPatch 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.PreferenceScreen
import app.revanced.patches.music.misc.settings.settingsPatch import app.revanced.patches.music.misc.settings.settingsPatch
import app.revanced.patches.music.playservice.* import app.revanced.patches.music.playservice.*
@ -14,7 +14,7 @@ import app.revanced.patches.shared.misc.spoof.spoofVideoStreamsPatch
val spoofVideoStreamsPatch = spoofVideoStreamsPatch( val spoofVideoStreamsPatch = spoofVideoStreamsPatch(
extensionClassDescriptor = "Lapp/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch;", extensionClassDescriptor = "Lapp/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch;",
getMainActivityOnCreateMethod = { musicActivityOnCreateMethod }, getMainActivityOnCreateMethod = { mainActivityOnCreateMethod },
fixMediaFetchHotConfig = { is_7_16_or_greater }, fixMediaFetchHotConfig = { is_7_16_or_greater },
fixMediaFetchHotConfigAlternative = { is_8_11_or_greater && !is_8_15_or_greater }, fixMediaFetchHotConfigAlternative = { is_8_11_or_greater && !is_8_15_or_greater },
fixParsePlaybackResponseFeatureFlag = { is_7_33_or_greater }, fixParsePlaybackResponseFeatureFlag = { is_7_33_or_greater },

View file

@ -85,7 +85,7 @@ internal val BytecodePatchContext.protobufBufferEncodeMethod by gettingFirstMeth
Opcode.IGET_OBJECT(), Opcode.IGET_OBJECT(),
field { definingClass == methodDefiningClass && type == "Lcom/google/android/libraries/elements/adl/UpbMessage;" }, 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" },
) )
} }

View file

@ -5,11 +5,9 @@ import app.revanced.patcher.extensions.getInstruction
import app.revanced.patcher.extensions.wideLiteral import app.revanced.patcher.extensions.wideLiteral
import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.util.Document 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.addBrandLicensePatch
import app.revanced.patches.shared.layout.branding.header.CUSTOM_HEADER_RESOURCE_NAME 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.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.ResourceType
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.PreferenceScreen

View file

@ -104,6 +104,8 @@ val overrideOpenInYouTubeMusicButtonPatch = bytecodePatch(
else -> null else -> null
} }
}) { method, (index, methodDescriptor) -> }) { method, (index, methodDescriptor) ->
if (method.definingClass == EXTENSION_CLASS_DESCRIPTOR) return@forEachInstructionAsSequence
val invokeString = when (val instruction = method.getInstruction(index)) { val invokeString = when (val instruction = method.getInstruction(index)) {
is RegisterRangeInstruction -> is RegisterRangeInstruction ->
"invoke-static/range { v${instruction.startRegister} .. v${instruction.startRegister + instruction.registerCount - 1} }" "invoke-static/range { v${instruction.startRegister} .. v${instruction.startRegister + instruction.registerCount - 1} }"

View file

@ -46,7 +46,7 @@ internal val BytecodePatchContext.removeOnLayoutChangeListenerMethodMatch by com
), ),
allOf(Opcode.INVOKE_VIRTUAL(), method { allOf(Opcode.INVOKE_VIRTUAL(), method {
name == "removeOnLayoutChangeListener" && name == "removeOnLayoutChangeListener" &&
returnType == "Z" && returnType == "V" &&
definingClass == "Lcom/google/android/apps/youtube/app/common/" + definingClass == "Lcom/google/android/apps/youtube/app/common/" +
"player/overlay/YouTubePlayerOverlaysLayout;" "player/overlay/YouTubePlayerOverlaysLayout;"
}), }),

View file

@ -147,7 +147,6 @@ val hideLayoutComponentsPatch = hideLayoutComponentsPatch(
"revanced_comments_screen", "revanced_comments_screen",
preferences = setOf( preferences = setOf(
SwitchPreference("revanced_hide_comments_ai_chat_summary"), SwitchPreference("revanced_hide_comments_ai_chat_summary"),
SwitchPreference("revanced_hide_comments_ai_summary"),
SwitchPreference("revanced_hide_comments_channel_guidelines"), SwitchPreference("revanced_hide_comments_channel_guidelines"),
SwitchPreference("revanced_hide_comments_by_members_header"), SwitchPreference("revanced_hide_comments_by_members_header"),
SwitchPreference("revanced_hide_comments_section"), SwitchPreference("revanced_hide_comments_section"),

View file

@ -37,7 +37,7 @@ import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter
private const val EXTENSION_CLASS_DESCRIPTOR = private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/youtube/patches/ShortsAutoplayPatch;" "Lapp/revanced/extension/youtube/patches/ShortsAutoplayPatch;"
@Suppress("ObjectPropertyName") @Suppress("unused")
val shortsAutoplayPatch = bytecodePatch( val shortsAutoplayPatch = bytecodePatch(
name = "Shorts autoplay", name = "Shorts autoplay",
description = "Adds options to automatically play the next Short.", description = "Adds options to automatically play the next Short.",
@ -110,10 +110,10 @@ val shortsAutoplayPatch = bytecodePatch(
} }
} else { } else {
method { method {
definingClass == "reelEnumClass" && definingClass == reelEnumClass &&
returnType == reelEnumClass && returnType == reelEnumClass &&
parameterTypes.size == 1 && parameterTypes.size == 1 &&
parameterTypes[0].startsWith("L") parameterTypes[0] == "I"
} }
} }

View file

@ -1108,7 +1108,7 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK
</patch> </patch>
<patch id="layout.hide.endscreensuggestedvideo.hideEndScreenSuggestedVideoPatch"> <patch id="layout.hide.endscreensuggestedvideo.hideEndScreenSuggestedVideoPatch">
<string name="revanced_end_screen_suggested_video_title">Hide end screen suggested video</string> <string name="revanced_end_screen_suggested_video_title">Hide end screen suggested video</string>
<string name="revanced_end_screen_suggested_video_summary_on">"End screen suggested video is hidden</string> <string name="revanced_end_screen_suggested_video_summary_on">End screen suggested video is hidden</string>
<string name="revanced_end_screen_suggested_video_summary_off">End screen suggested video is shown</string> <string name="revanced_end_screen_suggested_video_summary_off">End screen suggested video is shown</string>
</patch> </patch>
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch"> <patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">