From f7f4a1b0f0186598266b41a2c6a781fdee49e440 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 20 Sep 2025 19:30:05 +0400 Subject: [PATCH] feat(YouTube): Support version `20.14.43` (#5940) --- .../app/revanced/extension/shared/Utils.java | 2 +- .../extension/youtube/settings/Settings.java | 11 +++++++--- .../patches/shared/misc/spoof/Fingerprints.kt | 20 +++++++++++++----- .../misc/spoof/SpoofVideoStreamsPatch.kt | 12 ----------- .../youtube/ad/general/HideAdsPatch.kt | 3 +-- .../ad/getpremium/HideGetPremiumPatch.kt | 3 +-- .../patches/youtube/ad/video/VideoAdsPatch.kt | 3 +-- .../copyvideourl/CopyVideoUrlPatch.kt | 3 +-- .../RemoveViewerDiscretionDialogPatch.kt | 3 +-- .../DisableChapterSkipDoubleTapPatch.kt | 2 +- .../interaction/downloads/DownloadsPatch.kt | 3 +-- .../interaction/seekbar/SeekbarPatch.kt | 3 +-- .../swipecontrols/SwipeControlsPatch.kt | 3 +-- .../layout/autocaptions/AutoCaptionsPatch.kt | 3 +-- .../layout/branding/CustomBrandingPatch.kt | 3 +-- .../branding/header/ChangeHeaderPatch.kt | 3 +-- .../layout/buttons/action/HideButtonsPatch.kt | 3 +-- .../navigation/NavigationButtonsPatch.kt | 3 +-- .../overlay/HidePlayerOverlayButtonsPatch.kt | 3 +-- .../formfactor/ChangeFormFactorPatch.kt | 3 +-- .../endscreencards/HideEndscreenCardsPatch.kt | 3 +-- .../HideEndScreenSuggestedVideoPatch.kt | 3 +-- .../DisableFullscreenAmbientModePatch.kt | 3 +-- .../hide/general/HideLayoutComponentsPatch.kt | 3 +-- .../hide/infocards/HideInfoCardsPatch.kt | 3 +-- .../HidePlayerFlyoutMenuPatch.kt | 3 +-- .../HideRelatedVideoOverlayPatch.kt | 3 +-- .../DisableRollingNumberAnimationPatch.kt | 3 +-- .../hide/shorts/HideShortsComponentsPatch.kt | 3 +-- .../DisableSignInToTvPatchPopup.kt | 3 +-- .../layout/hide/time/HideTimestampPatch.kt | 3 +-- .../layout/miniplayer/MiniplayerPatch.kt | 3 +-- .../panels/popup/PlayerPopupPanelsPatch.kt | 3 +-- .../player/fullscreen/ExitFullscreenPatch.kt | 3 +-- .../fullscreen/OpenVideosFullscreenPatch.kt | 3 +-- .../CustomPlayerOverlayOpacityPatch.kt | 3 +-- .../ReturnYouTubeDislikePatch.kt | 3 +-- .../layout/searchbar/WideSearchbarPatch.kt | 3 +-- .../shortsautoplay/ShortsAutoplayPatch.kt | 3 +-- .../OpenShortsInRegularPlayerPatch.kt | 3 +-- .../layout/sponsorblock/SponsorBlockPatch.kt | 3 +-- .../spoofappversion/SpoofAppVersionPatch.kt | 16 ++++++++------ .../layout/startpage/ChangeStartPagePatch.kt | 3 +-- .../DisableResumingShortsOnStartupPatch.kt | 3 +-- .../youtube/layout/theme/ThemePatch.kt | 3 +-- .../thumbnails/AlternativeThumbnailsPatch.kt | 3 +-- .../BypassImageRegionRestrictionsPatch.kt | 3 +-- .../misc/announcements/AnnouncementsPatch.kt | 3 +-- .../misc/autorepeat/AutoRepeatPatch.kt | 3 +-- .../BackgroundPlaybackPatch.kt | 3 +-- .../misc/debugging/EnableDebuggingPatch.kt | 3 +-- .../spoof/SpoofDeviceDimensionsPatch.kt | 3 +-- ...ckWatchHistoryDomainNameResolutionPatch.kt | 3 +-- .../fix/backtoexitgesture/Fingerprints.kt | 21 ++++++------------- .../FixBackToExitGesturePatch.kt | 15 ++++++------- .../youtube/misc/gms/GmsCoreSupportPatch.kt | 3 +-- .../DisableHapticFeedbackPatch.kt | 3 +-- .../misc/links/BypassURLRedirectsPatch.kt | 3 +-- .../misc/links/OpenLinksExternallyPatch.kt | 3 +-- .../RemoveTrackingQueryParameterPatch.kt | 3 +-- .../misc/spoof/SpoofVideoStreamsPatch.kt | 3 +-- .../video/audio/ForceOriginalAudioPatch.kt | 3 +-- .../youtube/video/hdr/DisableHdrPatch.kt | 3 +-- .../video/quality/VideoQualityPatch.kt | 3 +-- .../youtube/video/speed/PlaybackSpeedPatch.kt | 3 +-- .../resources/addresources/values/arrays.xml | 14 +++++++++++-- .../resources/addresources/values/strings.xml | 5 +++-- 67 files changed, 121 insertions(+), 168 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java index db157c4a1..6fbdc233a 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java @@ -116,7 +116,7 @@ public class Utils { } /** - * @return The version name of the app, such as 19.11.43 + * @return The version name of the app, such as 20.13.41 */ public static String getAppVersionName() { if (versionName == null) { diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index 7177067f5..461ac3fe6 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -32,6 +32,7 @@ import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehavi import android.graphics.Color; import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.Utils; import app.revanced.extension.shared.settings.BaseSettings; import app.revanced.extension.shared.settings.BooleanSetting; import app.revanced.extension.shared.settings.EnumSetting; @@ -514,10 +515,14 @@ public class Settings extends BaseSettings { DEPRECATED_SWIPE_OVERLAY_BACKGROUND_ALPHA.resetToDefault(); } - // Old spoof versions that no longer work. - if (SPOOF_APP_VERSION_TARGET.get().compareTo(SPOOF_APP_VERSION_TARGET.defaultValue) < 0) { - Logger.printInfo(() -> "Resetting spoof app version target"); + // Old spoof versions that no longer work, + // or is spoofing to a version the same or newer than this app. + if (!SPOOF_APP_VERSION_TARGET.isSetToDefault() && + (SPOOF_APP_VERSION_TARGET.get().compareTo(SPOOF_APP_VERSION_TARGET.defaultValue) < 0 + || (Utils.getAppVersionName().compareTo(SPOOF_APP_VERSION_TARGET.get()) <= 0))) { + Logger.printInfo(() -> "Resetting spoof app version"); SPOOF_APP_VERSION_TARGET.resetToDefault(); + SPOOF_APP_VERSION.resetToDefault(); } // RYD requires manually migrating old settings since the lack of diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt index 7c42648c7..5ea7a0b71 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt @@ -1,9 +1,13 @@ package app.revanced.patches.shared.misc.spoof import app.revanced.patcher.fingerprint +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstruction import app.revanced.util.literal import com.android.tools.smali.dexlib2.AccessFlags import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.Method +import com.android.tools.smali.dexlib2.iface.reference.MethodReference internal val buildInitPlaybackRequestFingerprint = fingerprint { returns("Lorg/chromium/net/UrlRequest\$Builder;") @@ -37,10 +41,6 @@ internal val buildRequestFingerprint = fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC) returns("Lorg/chromium/net/UrlRequest") // UrlRequest; or UrlRequest$Builder; custom { methodDef, _ -> - if (indexOfNewUrlRequestBuilderInstruction(methodDef) < 0) { - return@custom false - } - // Different targets have slightly different parameters // Earlier targets have parameters: @@ -74,10 +74,10 @@ internal val buildRequestFingerprint = fingerprint { val parameterTypesSize = parameterTypes.size (parameterTypesSize == 6 || parameterTypesSize == 7 || parameterTypesSize == 8) && parameterTypes[1] == "Ljava/util/Map;" // URL headers. + && indexOfNewUrlRequestBuilderInstruction(methodDef) >= 0 } } - internal val protobufClassParseByteBufferFingerprint = fingerprint { accessFlags(AccessFlags.PROTECTED, AccessFlags.STATIC) returns("L") @@ -191,3 +191,13 @@ internal val playbackStartDescriptorFeatureFlagFingerprint = fingerprint { returns("Z") literal { PLAYBACK_START_CHECK_ENDPOINT_USED_FEATURE_FLAG } } + +internal fun indexOfNewUrlRequestBuilderInstruction(method: Method) = method.indexOfFirstInstruction { + val reference = getReference() + opcode == Opcode.INVOKE_VIRTUAL && reference?.definingClass == "Lorg/chromium/net/CronetEngine;" + && reference.name == "newUrlRequestBuilder" + && reference.parameterTypes.size == 3 + && reference.parameterTypes[0] == "Ljava/lang/String;" + && reference.parameterTypes[1] == "Lorg/chromium/net/UrlRequest\$Callback;" + && reference.parameterTypes[2] == "Ljava/util/concurrent/Executor;" +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt index 40746553f..c03e8022c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt @@ -16,20 +16,17 @@ import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.util.findFreeRegister import app.revanced.util.findInstructionIndicesReversedOrThrow import app.revanced.util.getReference -import app.revanced.util.indexOfFirstInstruction import app.revanced.util.indexOfFirstInstructionOrThrow import app.revanced.util.insertLiteralOverride import app.revanced.util.returnEarly import com.android.tools.smali.dexlib2.AccessFlags import com.android.tools.smali.dexlib2.Opcode import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation -import com.android.tools.smali.dexlib2.iface.Method import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction import com.android.tools.smali.dexlib2.iface.reference.FieldReference -import com.android.tools.smali.dexlib2.iface.reference.MethodReference import com.android.tools.smali.dexlib2.immutable.ImmutableMethod import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter @@ -337,12 +334,3 @@ fun spoofVideoStreamsPatch( executeBlock() } } - -internal fun indexOfNewUrlRequestBuilderInstruction(method: Method) = method.indexOfFirstInstruction { - opcode == Opcode.INVOKE_VIRTUAL && getReference().toString() == - "Lorg/chromium/net/CronetEngine;" + - "->newUrlRequestBuilder(" + - "Ljava/lang/String;Lorg/chromium/net/UrlRequest${'$'}Callback;" + - "Ljava/util/concurrent/Executor;" + - ")Lorg/chromium/net/UrlRequest${'$'}Builder;" -} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt index e1d326610..d2175db4c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt @@ -78,10 +78,9 @@ val hideAdsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt index bed7dba99..9e7095e30 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/getpremium/HideGetPremiumPatch.kt @@ -27,10 +27,9 @@ val hideGetPremiumPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/video/VideoAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/video/VideoAdsPatch.kt index 81d19d698..aad7f8cc3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/video/VideoAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/video/VideoAdsPatch.kt @@ -25,10 +25,9 @@ val videoAdsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/copyvideourl/CopyVideoUrlPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/copyvideourl/CopyVideoUrlPatch.kt index 047950331..5c46810fc 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/copyvideourl/CopyVideoUrlPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/copyvideourl/CopyVideoUrlPatch.kt @@ -55,10 +55,9 @@ val copyVideoUrlPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/dialog/RemoveViewerDiscretionDialogPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/dialog/RemoveViewerDiscretionDialogPatch.kt index 8c366e58b..6aaf0e3ad 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/dialog/RemoveViewerDiscretionDialogPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/dialog/RemoveViewerDiscretionDialogPatch.kt @@ -26,10 +26,9 @@ val removeViewerDiscretionDialogPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatch.kt index 9672ef9a2..fbf153507 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatch.kt @@ -29,8 +29,8 @@ val disableDoubleTapActionsPatch = bytecodePatch( compatibleWith( "com.google.android.youtube"( "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt index ed2f7f043..b48148655 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt @@ -76,10 +76,9 @@ val downloadsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/SeekbarPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/SeekbarPatch.kt index fc2b9b998..e0fb2ea61 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/SeekbarPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/SeekbarPatch.kt @@ -22,10 +22,9 @@ val seekbarPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt index dd83a9549..83a553aef 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt @@ -90,10 +90,9 @@ val swipeControlsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/autocaptions/AutoCaptionsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/autocaptions/AutoCaptionsPatch.kt index ff7ee248f..8a6e216dc 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/autocaptions/AutoCaptionsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/autocaptions/AutoCaptionsPatch.kt @@ -26,10 +26,9 @@ val autoCaptionsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt index 1eac1fb6c..816fa5de2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt @@ -45,10 +45,9 @@ val customBrandingPatch = resourcePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) 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 cd2045550..a8d0b2d38 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 @@ -95,10 +95,9 @@ val changeHeaderPatch = resourcePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt index 62c4dacdd..1186188f7 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt @@ -24,10 +24,9 @@ val hideButtonsPatch = resourcePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt index b59ec3f38..03210d5ee 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/navigation/NavigationButtonsPatch.kt @@ -42,10 +42,9 @@ val navigationButtonsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt index a890cf2be..c8bd12f4b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/overlay/HidePlayerOverlayButtonsPatch.kt @@ -60,10 +60,9 @@ val hidePlayerOverlayButtonsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt index 6e9672cf9..c6412ec66 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/formfactor/ChangeFormFactorPatch.kt @@ -35,10 +35,9 @@ val changeFormFactorPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt index 458801631..889c32462 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt @@ -61,10 +61,9 @@ val hideEndscreenCardsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt index db5115207..498051829 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatch.kt @@ -33,10 +33,9 @@ val hideEndScreenSuggestedVideoPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt index f2b87d5be..f75bd9cbd 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/fullscreenambientmode/DisableFullscreenAmbientModePatch.kt @@ -31,10 +31,9 @@ val disableFullscreenAmbientModePatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) 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 4c9bac27c..affb18b81 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 @@ -128,10 +128,9 @@ val hideLayoutComponentsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/infocards/HideInfoCardsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/infocards/HideInfoCardsPatch.kt index cac5c169b..a53af02af 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/infocards/HideInfoCardsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/infocards/HideInfoCardsPatch.kt @@ -59,10 +59,9 @@ val hideInfoCardsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt index b18525c4c..f8f32b8e8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt @@ -26,10 +26,9 @@ val hidePlayerFlyoutMenuPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/relatedvideooverlay/HideRelatedVideoOverlayPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/relatedvideooverlay/HideRelatedVideoOverlayPatch.kt index fa8fa9f04..537ae6aa5 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/relatedvideooverlay/HideRelatedVideoOverlayPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/relatedvideooverlay/HideRelatedVideoOverlayPatch.kt @@ -50,10 +50,9 @@ val hideRelatedVideoOverlayPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/rollingnumber/DisableRollingNumberAnimationPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/rollingnumber/DisableRollingNumberAnimationPatch.kt index b81cab1cb..b251253ac 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/rollingnumber/DisableRollingNumberAnimationPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/rollingnumber/DisableRollingNumberAnimationPatch.kt @@ -31,10 +31,9 @@ val disableRollingNumberAnimationPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index 1faab015e..723005d67 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -174,10 +174,9 @@ val hideShortsComponentsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt index 1a591c315..3f7229432 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt @@ -33,10 +33,9 @@ val disableSignInToTvPopupPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/time/HideTimestampPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/time/HideTimestampPatch.kt index 6d9bfb567..ab85861c4 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/time/HideTimestampPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/time/HideTimestampPatch.kt @@ -23,10 +23,9 @@ val hideTimestampPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt index 08f78f9dc..34ce1e1ff 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt @@ -155,10 +155,9 @@ val miniplayerPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/panels/popup/PlayerPopupPanelsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/panels/popup/PlayerPopupPanelsPatch.kt index 56bdac659..b95e81ba1 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/panels/popup/PlayerPopupPanelsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/panels/popup/PlayerPopupPanelsPatch.kt @@ -23,10 +23,9 @@ val playerPopupPanelsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/ExitFullscreenPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/ExitFullscreenPatch.kt index 2c61ce596..148427a95 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/ExitFullscreenPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/ExitFullscreenPatch.kt @@ -23,10 +23,9 @@ internal val exitFullscreenPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt index 1c76b56e4..a0b513f3e 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt @@ -25,10 +25,9 @@ val openVideosFullscreenPatch = bytecodePatch( compatibleWith( "com.google.android.youtube"( - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/overlay/CustomPlayerOverlayOpacityPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/overlay/CustomPlayerOverlayOpacityPatch.kt index 35f81a643..21ffbe853 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/overlay/CustomPlayerOverlayOpacityPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/overlay/CustomPlayerOverlayOpacityPatch.kt @@ -54,10 +54,9 @@ val customPlayerOverlayOpacityPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt index b65b8f6c4..7e063aca2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt @@ -63,10 +63,9 @@ val returnYouTubeDislikePatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/WideSearchbarPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/WideSearchbarPatch.kt index 4f06635d1..ad9ffb6c1 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/WideSearchbarPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/WideSearchbarPatch.kt @@ -68,10 +68,9 @@ val wideSearchbarPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) 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 bf63a2191..17b20a913 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 @@ -46,10 +46,9 @@ val shortsAutoplayPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt index aa9aa1954..1f4b58278 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt @@ -66,10 +66,9 @@ val openShortsInRegularPlayerPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt index 80cbfe041..8ada0c07a 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt @@ -128,10 +128,9 @@ val sponsorBlockPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt index 0d6b6c89c..c60250949 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt @@ -17,6 +17,7 @@ import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPref import app.revanced.patches.shared.misc.settings.preference.SwitchPreference import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch import app.revanced.patches.youtube.misc.playservice.is_19_43_or_greater +import app.revanced.patches.youtube.misc.playservice.is_20_14_or_greater import app.revanced.patches.youtube.misc.playservice.versionCheckPatch import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch @@ -60,10 +61,9 @@ val spoofAppVersionPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) @@ -79,17 +79,21 @@ val spoofAppVersionPatch = bytecodePatch( tag = "app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory", preferences = setOf( SwitchPreference("revanced_spoof_app_version"), - if (is_19_43_or_greater) { + if (is_20_14_or_greater) { + ListPreference("revanced_spoof_app_version_target") + } else if (is_19_43_or_greater) { ListPreference( key = "revanced_spoof_app_version_target", - summaryKey = null + summaryKey = null, + entriesKey = "revanced_spoof_app_version_target_legacy_20_13_entries", + entryValuesKey = "revanced_spoof_app_version_target_legacy_20_13_entry_values" ) } else { ListPreference( key = "revanced_spoof_app_version_target", summaryKey = null, - entriesKey = "revanced_spoof_app_version_target_legacy_entries", - entryValuesKey = "revanced_spoof_app_version_target_legacy_entry_values" + entriesKey = "revanced_spoof_app_version_target_legacy_19_34_entries", + entryValuesKey = "revanced_spoof_app_version_target_legacy_19_34_entry_values" ) } ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startpage/ChangeStartPagePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startpage/ChangeStartPagePatch.kt index e54d13e79..fd61679c3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startpage/ChangeStartPagePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startpage/ChangeStartPagePatch.kt @@ -34,10 +34,9 @@ val changeStartPagePatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt index 4a8737fa4..f65b85732 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt @@ -36,10 +36,9 @@ val disableResumingShortsOnStartupPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt index 04d7a3d79..ca8709871 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt @@ -206,10 +206,9 @@ val themePatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/AlternativeThumbnailsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/AlternativeThumbnailsPatch.kt index bd883935e..4b3ebf9ad 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/AlternativeThumbnailsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/AlternativeThumbnailsPatch.kt @@ -35,10 +35,9 @@ val alternativeThumbnailsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/BypassImageRegionRestrictionsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/BypassImageRegionRestrictionsPatch.kt index 1f2547720..65b95b7a6 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/BypassImageRegionRestrictionsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/thumbnails/BypassImageRegionRestrictionsPatch.kt @@ -29,10 +29,9 @@ val bypassImageRegionRestrictionsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt index 5a7d976df..26a74c5b9 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/announcements/AnnouncementsPatch.kt @@ -25,10 +25,9 @@ val announcementsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/autorepeat/AutoRepeatPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/autorepeat/AutoRepeatPatch.kt index e90fc619a..324006c05 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/autorepeat/AutoRepeatPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/autorepeat/AutoRepeatPatch.kt @@ -26,10 +26,9 @@ val autoRepeatPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/backgroundplayback/BackgroundPlaybackPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/backgroundplayback/BackgroundPlaybackPatch.kt index a0e44d4d5..cd5830462 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/backgroundplayback/BackgroundPlaybackPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/backgroundplayback/BackgroundPlaybackPatch.kt @@ -53,10 +53,9 @@ val backgroundPlaybackPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt index e2e4bc4fb..21a7c048b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt @@ -19,10 +19,9 @@ val enableDebuggingPatch = enableDebuggingPatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) }, diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dimensions/spoof/SpoofDeviceDimensionsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dimensions/spoof/SpoofDeviceDimensionsPatch.kt index 5de171637..5982114de 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dimensions/spoof/SpoofDeviceDimensionsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dimensions/spoof/SpoofDeviceDimensionsPatch.kt @@ -26,10 +26,9 @@ val spoofDeviceDimensionsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt index f9ee7849b..dc2aaf258 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/dns/CheckWatchHistoryDomainNameResolutionPatch.kt @@ -23,10 +23,9 @@ val checkWatchHistoryDomainNameResolutionPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/Fingerprints.kt index 3de2e836a..7877ce7db 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/Fingerprints.kt @@ -1,8 +1,8 @@ package app.revanced.patches.youtube.misc.fix.backtoexitgesture -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.AccessFlags import app.revanced.patcher.fingerprint +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode internal val scrollPositionFingerprint = fingerprint { accessFlags(AccessFlags.PROTECTED, AccessFlags.FINAL) @@ -24,30 +24,18 @@ internal val recyclerViewTopScrollingFingerprint = fingerprint { returns("V") parameters() opcodes( - Opcode.IGET_OBJECT, - Opcode.IF_EQZ, - Opcode.IGET_OBJECT, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT, - Opcode.IF_EQZ, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, Opcode.CHECK_CAST, Opcode.CONST_4, Opcode.INVOKE_VIRTUAL, Opcode.GOTO, Opcode.IGET_OBJECT, - Opcode.INVOKE_INTERFACE, + Opcode.INVOKE_INTERFACE ) } internal val recyclerViewTopScrollingParentFingerprint = fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR) - parameters("L", "L", "Landroid/view/ViewGroup;", "Landroid/view/ViewGroup;") opcodes( - Opcode.INVOKE_DIRECT, Opcode.IPUT_OBJECT, Opcode.IPUT_OBJECT, Opcode.IPUT_OBJECT, @@ -55,5 +43,8 @@ internal val recyclerViewTopScrollingParentFingerprint = fingerprint { Opcode.CONST_16, Opcode.INVOKE_VIRTUAL, Opcode.NEW_INSTANCE, + Opcode.INVOKE_DIRECT, + Opcode.IPUT_OBJECT, + Opcode.RETURN_VOID ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/FixBackToExitGesturePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/FixBackToExitGesturePatch.kt index d64857769..cf55ed6b5 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/FixBackToExitGesturePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/FixBackToExitGesturePatch.kt @@ -15,13 +15,14 @@ internal val fixBackToExitGesturePatch = bytecodePatch( ) { execute { - recyclerViewTopScrollingFingerprint.match(recyclerViewTopScrollingParentFingerprint.originalClassDef) - .let { - it.method.addInstruction( - it.patternMatch!!.endIndex, - "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->onTopView()V" - ) - } + recyclerViewTopScrollingFingerprint.match( + recyclerViewTopScrollingParentFingerprint.originalClassDef + ).let { + it.method.addInstruction( + it.patternMatch!!.endIndex, + "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->onTopView()V" + ) + } scrollPositionFingerprint.let { navigate(it.originalMethod) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt index 5ffd49cb4..5dc87ad94 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch.kt @@ -37,10 +37,9 @@ val gmsCoreSupportPatch = gmsCoreSupportPatch( YOUTUBE_PACKAGE_NAME( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/hapticfeedback/DisableHapticFeedbackPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/hapticfeedback/DisableHapticFeedbackPatch.kt index 363fea9c2..cd50847fd 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/hapticfeedback/DisableHapticFeedbackPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/hapticfeedback/DisableHapticFeedbackPatch.kt @@ -28,10 +28,9 @@ val disableHapticFeedbackPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/BypassURLRedirectsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/BypassURLRedirectsPatch.kt index 6f0b94ece..2b1b2fc8e 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/BypassURLRedirectsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/BypassURLRedirectsPatch.kt @@ -34,10 +34,9 @@ val bypassURLRedirectsPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt index 428b606ff..70e5b8dbc 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/links/OpenLinksExternallyPatch.kt @@ -43,10 +43,9 @@ val openLinksExternallyPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt index 235572eaa..7e99f0177 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt @@ -32,10 +32,9 @@ val removeTrackingQueryParameterPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt index 3981e7db1..9981a8fe6 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt @@ -24,10 +24,9 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) 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 eee6c0e45..3aec4a62e 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 @@ -46,10 +46,9 @@ val forceOriginalAudioPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt index abea2c22c..96192517b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt @@ -56,10 +56,9 @@ val disableHdrPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt index 55a449647..ca51614b3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt @@ -26,10 +26,9 @@ val videoQualityPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt index 7ab9d2e0b..3da73226b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt @@ -30,10 +30,9 @@ val playbackSpeedPatch = bytecodePatch( "com.google.android.youtube"( "19.34.42", "19.43.41", - "19.47.53", "20.07.39", - "20.12.46", "20.13.41", + "20.14.43", ) ) diff --git a/patches/src/main/resources/addresources/values/arrays.xml b/patches/src/main/resources/addresources/values/arrays.xml index f1975f0b9..05513dfb4 100644 --- a/patches/src/main/resources/addresources/values/arrays.xml +++ b/patches/src/main/resources/addresources/values/arrays.xml @@ -173,15 +173,25 @@ @string/revanced_spoof_app_version_target_entry_1 @string/revanced_spoof_app_version_target_entry_2 + @string/revanced_spoof_app_version_target_entry_3 + 20.13.41 19.35.36 19.01.34 - + + @string/revanced_spoof_app_version_target_entry_2 + @string/revanced_spoof_app_version_target_entry_3 + + + 19.35.36 19.01.34 - + + 19.01.34 + + 19.01.34 diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 13de8f6da..bb17ed6fc 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -1315,8 +1315,9 @@ This will change the appearance and features of the app, but unknown side effect If later turned off, it is recommended to clear the app data to prevent UI bugs." Spoof app version target - 19.35.36 - Restore old Shorts player icons - 19.01.34 - Restore old navigation icons + 20.13.41 - Restore non collapsed video action bar + 19.35.36 - Restore old Shorts player icons + 19.01.34 - Restore old navigation icons Change start page