From 2e4c6fdcadeef45a80733e374421d52e5e8af910 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 18 Oct 2025 01:12:34 +0400 Subject: [PATCH] fix(YouTube Music): Resolve patching 7.29 target --- patches/api/patches.api | 2 ++ .../patches/music/misc/spoof/SpoofVideoStreamsPatch.kt | 3 ++- .../patches/music/misc/tracks/ForceOriginalAudioPatch.kt | 9 +++------ .../patches/music/playservice/VersionCheckPatch.kt | 8 +++++++- .../youtube/video/audio/ForceOriginalAudioPatch.kt | 5 +---- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/patches/api/patches.api b/patches/api/patches.api index dfc890bf2..b15bb5bd3 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -481,7 +481,9 @@ public final class app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatc public final class app/revanced/patches/music/playservice/VersionCheckPatchKt { public static final fun getVersionCheckPatch ()Lapp/revanced/patcher/patch/ResourcePatch; + public static final fun is_7_16_or_greater ()Z public static final fun is_7_33_or_greater ()Z + public static final fun is_8_05_or_greater ()Z public static final fun is_8_10_or_greater ()Z public static final fun is_8_11_or_greater ()Z public static final fun is_8_15_or_greater ()Z 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 93c294480..e4268330d 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 @@ -6,6 +6,7 @@ import app.revanced.patches.music.misc.extension.sharedExtensionPatch import app.revanced.patches.music.misc.gms.musicActivityOnCreateFingerprint import app.revanced.patches.music.misc.settings.PreferenceScreen import app.revanced.patches.music.misc.settings.settingsPatch +import app.revanced.patches.music.playservice.is_7_16_or_greater import app.revanced.patches.music.playservice.is_7_33_or_greater import app.revanced.patches.music.playservice.is_8_11_or_greater import app.revanced.patches.music.playservice.is_8_15_or_greater @@ -18,7 +19,7 @@ import app.revanced.patches.shared.misc.spoof.spoofVideoStreamsPatch val spoofVideoStreamsPatch = spoofVideoStreamsPatch( extensionClassDescriptor = "Lapp/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch;", mainActivityOnCreateFingerprint = musicActivityOnCreateFingerprint, - fixMediaFetchHotConfig = { true }, + 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/music/misc/tracks/ForceOriginalAudioPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatch.kt index f5f170d54..09be85c56 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatch.kt @@ -3,14 +3,11 @@ package app.revanced.patches.music.misc.tracks import app.revanced.patches.music.misc.extension.sharedExtensionPatch import app.revanced.patches.music.misc.settings.PreferenceScreen import app.revanced.patches.music.misc.settings.settingsPatch -import app.revanced.patches.music.playservice.is_8_10_or_greater +import app.revanced.patches.music.playservice.is_8_05_or_greater import app.revanced.patches.music.playservice.versionCheckPatch import app.revanced.patches.music.shared.mainActivityOnCreateFingerprint import app.revanced.patches.shared.misc.audio.forceOriginalAudioPatch -private const val EXTENSION_CLASS_DESCRIPTOR = - "Lapp/revanced/extension/music/patches/ForceOriginalAudioPatch;" - @Suppress("unused") val forceOriginalAudioPatch = forceOriginalAudioPatch( block = { @@ -27,8 +24,8 @@ val forceOriginalAudioPatch = forceOriginalAudioPatch( ) ) }, - fixUseLocalizedAudioTrackFlag = { is_8_10_or_greater }, + fixUseLocalizedAudioTrackFlag = { is_8_05_or_greater }, mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint, - subclassExtensionClassDescriptor = EXTENSION_CLASS_DESCRIPTOR, + subclassExtensionClassDescriptor = "Lapp/revanced/extension/music/patches/ForceOriginalAudioPatch;", preferenceScreen = PreferenceScreen.MISC, ) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt index d923c954f..d8f1fd709 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt @@ -8,8 +8,12 @@ import kotlin.properties.Delegates // Use notNull delegate so an exception is thrown if these fields are accessed before they are set. +var is_7_16_or_greater: Boolean by Delegates.notNull() + private set var is_7_33_or_greater: Boolean by Delegates.notNull() private set +var is_8_05_or_greater: Boolean by Delegates.notNull() + private set var is_8_10_or_greater: Boolean by Delegates.notNull() private set var is_8_11_or_greater: Boolean by Delegates.notNull() @@ -26,8 +30,10 @@ val versionCheckPatch = resourcePatch( val playStoreServicesVersion = findPlayStoreServicesVersion() // All bug fix releases always seem to use the same play store version as the minor version. + is_7_16_or_greater = 243499000 <= playStoreServicesVersion is_7_33_or_greater = 245199000 <= playStoreServicesVersion - is_8_10_or_greater = 244799000 <= playStoreServicesVersion + is_8_05_or_greater = 250599000 <= playStoreServicesVersion + is_8_10_or_greater = 251099000 <= playStoreServicesVersion is_8_11_or_greater = 251199000 <= playStoreServicesVersion is_8_15_or_greater = 251530000 <= playStoreServicesVersion } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt index 390fe6c4a..ea1fed89b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt @@ -8,9 +8,6 @@ import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint -private const val EXTENSION_CLASS_DESCRIPTOR = - "Lapp/revanced/extension/youtube/patches/ForceOriginalAudioPatch;" - @Suppress("unused") val forceOriginalAudioPatch = forceOriginalAudioPatch( block = { @@ -31,6 +28,6 @@ val forceOriginalAudioPatch = forceOriginalAudioPatch( }, fixUseLocalizedAudioTrackFlag = { is_20_07_or_greater }, mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint, - subclassExtensionClassDescriptor = EXTENSION_CLASS_DESCRIPTOR, + subclassExtensionClassDescriptor = "Lapp/revanced/extension/youtube/patches/ForceOriginalAudioPatch;", preferenceScreen = PreferenceScreen.VIDEO, )