diff --git a/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java b/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java index 175960cca..541234ec6 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java +++ b/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java @@ -19,6 +19,7 @@ import app.revanced.extension.shared.settings.IntegerSetting; import app.revanced.extension.shared.settings.LongSetting; import app.revanced.extension.shared.settings.Setting; import app.revanced.extension.shared.settings.StringSetting; +import app.revanced.extension.shared.utils.Logger; import app.revanced.extension.shared.utils.Utils; @@ -230,6 +231,16 @@ public class Settings extends BaseSettings { public static final LongSetting SB_LAST_VIP_CHECK = new LongSetting("sb_last_vip_check", 0L, false, false); static { + // region Migration + + // Old spoof versions that no longer work reliably. + if (SPOOF_APP_VERSION_TARGET.get().compareTo(SPOOF_APP_VERSION_TARGET.defaultValue) < 0) { + Logger.printInfo(() -> "Resetting spoof app version target"); + SPOOF_APP_VERSION_TARGET.resetToDefault(); + } + + // endregion + // region SB import/export callbacks Setting.addImportExportCallback(SponsorBlockSettings.SB_IMPORT_EXPORT_CALLBACK); diff --git a/patches/src/main/kotlin/app/revanced/patches/music/general/spoofappversion/SpoofAppVersionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/general/spoofappversion/SpoofAppVersionPatch.kt index 1cfc4789a..f910e84d1 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/general/spoofappversion/SpoofAppVersionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/general/spoofappversion/SpoofAppVersionPatch.kt @@ -3,11 +3,11 @@ package app.revanced.patches.music.general.spoofappversion import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.patch.resourcePatch -import app.revanced.patches.music.general.oldstylelibraryshelf.oldStyleLibraryShelfPatch import app.revanced.patches.music.utils.compatibility.Constants.YOUTUBE_MUSIC_PACKAGE_NAME import app.revanced.patches.music.utils.extension.Constants.GENERAL_CLASS_DESCRIPTOR import app.revanced.patches.music.utils.extension.Constants.PATCH_STATUS_CLASS_DESCRIPTOR import app.revanced.patches.music.utils.patch.PatchList.SPOOF_APP_VERSION +import app.revanced.patches.music.utils.playservice.is_6_43_or_greater import app.revanced.patches.music.utils.playservice.is_7_17_or_greater import app.revanced.patches.music.utils.playservice.is_7_25_or_greater import app.revanced.patches.music.utils.playservice.versionCheckPatch @@ -32,7 +32,7 @@ private val spoofAppVersionBytecodePatch = bytecodePatch( ) execute { - if (is_7_25_or_greater) { + if (!is_6_43_or_greater || is_7_25_or_greater) { return@execute } if (is_7_17_or_greater) { @@ -61,9 +61,6 @@ val spoofAppVersionPatch = resourcePatch( ) { compatibleWith( YOUTUBE_MUSIC_PACKAGE_NAME( - "6.20.51", - "6.29.59", - "6.42.55", "6.51.53", "7.16.53", ), @@ -71,14 +68,13 @@ val spoofAppVersionPatch = resourcePatch( dependsOn( spoofAppVersionBytecodePatch, - oldStyleLibraryShelfPatch, settingsPatch, versionCheckPatch, ) execute { - if (is_7_25_or_greater) { - printWarn("\"${SPOOF_APP_VERSION.title}\" is not supported in this version. Use YouTube Music 7.24.51 or earlier.") + if (!is_6_43_or_greater || is_7_25_or_greater) { + printWarn("\"${SPOOF_APP_VERSION.title}\" is not supported in this version. Use YouTube Music 6.43.53 ~ 7.24.51.") return@execute } if (is_7_17_or_greater) { diff --git a/patches/src/main/kotlin/app/revanced/patches/music/utils/playservice/VersionCheckPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/utils/playservice/VersionCheckPatch.kt index 9e4c07482..f9fcceafd 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/utils/playservice/VersionCheckPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/utils/playservice/VersionCheckPatch.kt @@ -11,6 +11,8 @@ var is_6_36_or_greater = false private set var is_6_42_or_greater = false private set +var is_6_43_or_greater = false + private set var is_7_03_or_greater = false private set var is_7_06_or_greater = false @@ -49,6 +51,7 @@ val versionCheckPatch = resourcePatch( is_6_27_or_greater = 234412000 <= playStoreServicesVersion is_6_36_or_greater = 240399000 <= playStoreServicesVersion is_6_42_or_greater = 240999000 <= playStoreServicesVersion + is_6_43_or_greater = 241099000 <= playStoreServicesVersion is_7_03_or_greater = 242199000 <= playStoreServicesVersion is_7_06_or_greater = 242499000 <= playStoreServicesVersion is_7_13_or_greater = 243199000 <= playStoreServicesVersion diff --git a/patches/src/main/resources/music/settings/host/values/arrays.xml b/patches/src/main/resources/music/settings/host/values/arrays.xml index ad61d6c32..4d7f253d5 100644 --- a/patches/src/main/resources/music/settings/host/values/arrays.xml +++ b/patches/src/main/resources/music/settings/host/values/arrays.xml @@ -70,12 +70,10 @@ HANDLE_USERNAME - @string/revanced_spoof_app_version_target_entry_6_11_52 - @string/revanced_spoof_app_version_target_entry_4_27_53 + @string/revanced_spoof_app_version_target_entry_6_42_55 - 6.11.52 - 4.27.53 + 6.42.55 @string/revanced_spoof_client_type_entry_ios_music_6_21 diff --git a/patches/src/main/resources/music/settings/host/values/strings.xml b/patches/src/main/resources/music/settings/host/values/strings.xml index 002e56489..2c400f9e3 100644 --- a/patches/src/main/resources/music/settings/host/values/strings.xml +++ b/patches/src/main/resources/music/settings/host/values/strings.xml @@ -197,8 +197,7 @@ This does not bypass the age restriction. It just accepts it automatically." Spoof app version target Select the spoof app version target. - 4.27.53 - Disable Radio mode in Canadian regions - 6.11.52 - Disable real-time lyrics + 6.42.55 - Disable real-time lyrics 7.16.53 - Restore old action bar