diff --git a/README-template.md b/README-template.md index 3621a7b7b..64cb9e3ee 100644 --- a/README-template.md +++ b/README-template.md @@ -31,6 +31,9 @@ Example: "18.31.40", "18.32.39", "18.33.40" + "18.34.38" + "18.35.36", + "18.36.39" ] } ], diff --git a/src/main/kotlin/app/revanced/patches/youtube/ads/general/GeneralAdsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/ads/general/GeneralAdsPatch.kt index 7c4960c4c..c3072befb 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/ads/general/GeneralAdsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/ads/general/GeneralAdsPatch.kt @@ -39,7 +39,10 @@ import org.w3c.dom.Element "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/ads/video/VideoAdsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/ads/video/VideoAdsPatch.kt index 65a6471a1..604b4bd2e 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/ads/video/VideoAdsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/ads/video/VideoAdsPatch.kt @@ -24,7 +24,10 @@ import app.revanced.util.integrations.Constants.ADS_PATH "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/alternativethumbnails/general/AlternativeThumbnailsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/alternativethumbnails/general/AlternativeThumbnailsPatch.kt index 85e9c5a33..b75398d74 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/alternativethumbnails/general/AlternativeThumbnailsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/alternativethumbnails/general/AlternativeThumbnailsPatch.kt @@ -34,7 +34,10 @@ import app.revanced.util.resources.ResourceUtils.copyXmlNode "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/buttomplayer/buttoncontainer/ButtonContainerPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/buttomplayer/buttoncontainer/ButtonContainerPatch.kt index 48aca4d61..72a46afa1 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/buttomplayer/buttoncontainer/ButtonContainerPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/buttomplayer/buttoncontainer/ButtonContainerPatch.kt @@ -28,7 +28,10 @@ import app.revanced.util.integrations.Constants.PATCHES_PATH "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/buttomplayer/comment/CommentComponentPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/buttomplayer/comment/CommentComponentPatch.kt index 204a55c06..ca3daccac 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/buttomplayer/comment/CommentComponentPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/buttomplayer/comment/CommentComponentPatch.kt @@ -28,7 +28,10 @@ import app.revanced.util.integrations.Constants.PATCHES_PATH "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/feed/FeedFlyoutPanelPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/feed/FeedFlyoutPanelPatch.kt index 43bb3df96..060bc9bac 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/feed/FeedFlyoutPanelPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/feed/FeedFlyoutPanelPatch.kt @@ -39,7 +39,10 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/oldqualitylayout/OldQualityLayoutPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/oldqualitylayout/OldQualityLayoutPatch.kt index 5b4d79bb7..4057b4fa9 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/oldqualitylayout/OldQualityLayoutPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/oldqualitylayout/OldQualityLayoutPatch.kt @@ -37,7 +37,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/player/PlayerFlyoutPanelPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/player/PlayerFlyoutPanelPatch.kt index 39125428c..7e7db0357 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/player/PlayerFlyoutPanelPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/flyoutpanel/player/PlayerFlyoutPanelPatch.kt @@ -41,7 +41,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/autoplaypreview/HideAutoplayPreviewPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/autoplaypreview/HideAutoplayPreviewPatch.kt index 69d1b540f..1d38d18da 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/autoplaypreview/HideAutoplayPreviewPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/autoplaypreview/HideAutoplayPreviewPatch.kt @@ -38,7 +38,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/compactcontrolsoverlay/CompactControlsOverlayPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/compactcontrolsoverlay/CompactControlsOverlayPatch.kt index bf27f08af..eea8c9bcd 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/compactcontrolsoverlay/CompactControlsOverlayPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/compactcontrolsoverlay/CompactControlsOverlayPatch.kt @@ -34,7 +34,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/endscreenoverlay/HideEndScreenOverlayPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/endscreenoverlay/HideEndScreenOverlayPatch.kt index 6f2c183f1..a8d5491f0 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/endscreenoverlay/HideEndScreenOverlayPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/endscreenoverlay/HideEndScreenOverlayPatch.kt @@ -33,7 +33,10 @@ import app.revanced.util.integrations.Constants.FULLSCREEN "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/fullscreenpanels/HideFullscreenPanelsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/fullscreenpanels/HideFullscreenPanelsPatch.kt index 4d7b3b3a2..0004fa8c9 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/fullscreenpanels/HideFullscreenPanelsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/fullscreenpanels/HideFullscreenPanelsPatch.kt @@ -45,7 +45,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/landscapemode/LandScapeModePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/landscapemode/LandScapeModePatch.kt index f9f98a56f..c978ed51c 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/landscapemode/LandScapeModePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/landscapemode/LandScapeModePatch.kt @@ -33,7 +33,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ], diff --git a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/quickactions/QuickActionsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/quickactions/QuickActionsPatch.kt index 237477723..44878ccd6 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/fullscreen/quickactions/QuickActionsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/fullscreen/quickactions/QuickActionsPatch.kt @@ -30,7 +30,10 @@ import app.revanced.util.integrations.Constants.PATCHES_PATH "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/accountmenu/AccountMenuPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/accountmenu/AccountMenuPatch.kt index 843b77553..f012fadd0 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/accountmenu/AccountMenuPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/accountmenu/AccountMenuPatch.kt @@ -35,7 +35,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt index e84a20a8e..74f79ad1f 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt @@ -39,7 +39,10 @@ import app.revanced.util.integrations.Constants.GENERAL "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/autopopuppanels/PlayerPopupPanelsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/autopopuppanels/PlayerPopupPanelsPatch.kt index a765f1d24..69adb1976 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/autopopuppanels/PlayerPopupPanelsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/autopopuppanels/PlayerPopupPanelsPatch.kt @@ -29,7 +29,10 @@ import app.revanced.util.integrations.Constants.GENERAL "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/categorybar/CategoryBarPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/categorybar/CategoryBarPatch.kt index 13073962d..eaec2e411 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/categorybar/CategoryBarPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/categorybar/CategoryBarPatch.kt @@ -37,7 +37,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/channellistsubmenu/ChannelListSubMenuPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/channellistsubmenu/ChannelListSubMenuPatch.kt index 62c00b51b..e15878d7c 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/channellistsubmenu/ChannelListSubMenuPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/channellistsubmenu/ChannelListSubMenuPatch.kt @@ -33,7 +33,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/crowdfundingbox/CrowdfundingBoxPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/crowdfundingbox/CrowdfundingBoxPatch.kt index 4f1ee60a4..f693deb70 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/crowdfundingbox/CrowdfundingBoxPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/crowdfundingbox/CrowdfundingBoxPatch.kt @@ -33,7 +33,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/descriptions/DescriptionComponentsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/descriptions/DescriptionComponentsPatch.kt index d754e0f0a..02c748fc8 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/descriptions/DescriptionComponentsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/descriptions/DescriptionComponentsPatch.kt @@ -28,7 +28,10 @@ import app.revanced.util.integrations.Constants.PATCHES_PATH "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/floatingmicrophone/FloatingMicrophonePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/floatingmicrophone/FloatingMicrophonePatch.kt index b055f876f..9e2dfc4af 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/floatingmicrophone/FloatingMicrophonePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/floatingmicrophone/FloatingMicrophonePatch.kt @@ -33,7 +33,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/handle/HideHandlePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/handle/HideHandlePatch.kt index bd36badaa..7376a36b6 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/handle/HideHandlePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/handle/HideHandlePatch.kt @@ -33,7 +33,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/headerswitch/HeaderSwitchPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/headerswitch/HeaderSwitchPatch.kt index c87a0ea32..3e6436b31 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/headerswitch/HeaderSwitchPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/headerswitch/HeaderSwitchPatch.kt @@ -35,7 +35,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/latestvideosbutton/LatestVideosButtonPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/latestvideosbutton/LatestVideosButtonPatch.kt index d0240c4a3..b81e0465c 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/latestvideosbutton/LatestVideosButtonPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/latestvideosbutton/LatestVideosButtonPatch.kt @@ -33,7 +33,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/layout/LayoutComponentsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/layout/LayoutComponentsPatch.kt index dde8a9863..c38fa1deb 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/layout/LayoutComponentsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/layout/LayoutComponentsPatch.kt @@ -29,7 +29,10 @@ import app.revanced.util.integrations.Constants.PATCHES_PATH "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/loadmorebutton/LoadMoreButtonPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/loadmorebutton/LoadMoreButtonPatch.kt index 5507b82a9..3eb52c8b8 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/loadmorebutton/LoadMoreButtonPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/loadmorebutton/LoadMoreButtonPatch.kt @@ -33,7 +33,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/mixplaylists/MixPlaylistsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/mixplaylists/MixPlaylistsPatch.kt index a79816710..ea1e746b4 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/mixplaylists/MixPlaylistsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/mixplaylists/MixPlaylistsPatch.kt @@ -41,7 +41,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/snackbar/HideSnackBarPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/snackbar/HideSnackBarPatch.kt index 0f4fb05e2..6ccb742fb 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/snackbar/HideSnackBarPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/snackbar/HideSnackBarPatch.kt @@ -29,7 +29,10 @@ import app.revanced.util.integrations.Constants.GENERAL "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/suggestions/SuggestionsShelfPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/suggestions/SuggestionsShelfPatch.kt index 7f4ee4da1..b280402c0 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/suggestions/SuggestionsShelfPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/suggestions/SuggestionsShelfPatch.kt @@ -12,6 +12,7 @@ import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patches.shared.patch.litho.ComponentParserPatch.emptyComponentLabel import app.revanced.patches.youtube.general.suggestions.fingerprints.BreakingNewsFingerprint import app.revanced.patches.youtube.general.suggestions.fingerprints.SuggestionContentsBuilderFingerprint +import app.revanced.patches.youtube.general.suggestions.fingerprints.SuggestionContentsBuilderLegacyFingerprint import app.revanced.patches.youtube.utils.litho.LithoFilterPatch import app.revanced.patches.youtube.utils.settings.SettingsPatch import app.revanced.util.integrations.Constants.PATCHES_PATH @@ -37,7 +38,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] @@ -46,7 +50,8 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction object SuggestionsShelfPatch : BytecodePatch( setOf( BreakingNewsFingerprint, - SuggestionContentsBuilderFingerprint + SuggestionContentsBuilderFingerprint, + SuggestionContentsBuilderLegacyFingerprint ) ) { override fun execute(context: BytecodeContext) { @@ -70,7 +75,11 @@ object SuggestionsShelfPatch : BytecodePatch( * Target method only removes the horizontal video shelf's content in the feed. * Since the header of the horizontal video shelf is not removed, it should be removed through the SuggestionsShelfFilter */ - SuggestionContentsBuilderFingerprint.result?.let { + val result = SuggestionContentsBuilderFingerprint.result // YouTube v18.36.xx ~ + ?: SuggestionContentsBuilderLegacyFingerprint.result // ~ YouTube v18.35.xx + ?: throw SuggestionContentsBuilderFingerprint.exception + + result.let { it.mutableMethod.apply { addInstructionsWithLabels( 2, """ @@ -80,7 +89,7 @@ object SuggestionsShelfPatch : BytecodePatch( """ + emptyComponentLabel, ExternalLabel("show", getInstruction(2)) ) } - } ?: throw SuggestionContentsBuilderFingerprint.exception + } LithoFilterPatch.addFilter(FILTER_CLASS_DESCRIPTOR) diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/suggestions/fingerprints/SuggestionContentsBuilderFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/general/suggestions/fingerprints/SuggestionContentsBuilderFingerprint.kt index ad607a5a4..eeb92ae1e 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/suggestions/fingerprints/SuggestionContentsBuilderFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/suggestions/fingerprints/SuggestionContentsBuilderFingerprint.kt @@ -10,30 +10,36 @@ object SuggestionContentsBuilderFingerprint : MethodFingerprint( accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, parameters = listOf("L", "L"), opcodes = listOf( - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT_OBJECT, - Opcode.IGET_OBJECT, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, - Opcode.IPUT_OBJECT, - Opcode.IGET, - Opcode.INVOKE_VIRTUAL, - Opcode.IGET_OBJECT, - Opcode.IPUT_OBJECT, - Opcode.IGET_OBJECT, - Opcode.IPUT_OBJECT, - null, - null, + Opcode.NEW_INSTANCE, Opcode.INVOKE_DIRECT, - Opcode.IPUT_OBJECT, + Opcode.IGET_OBJECT, Opcode.CONST_4, + Opcode.IF_EQZ, Opcode.INVOKE_VIRTUAL, + Opcode.MOVE_RESULT_OBJECT, + Opcode.IF_EQZ, + Opcode.CONST_4, + Opcode.CONST_4, + Opcode.GOTO, + Opcode.CONST_4, + Opcode.IGET_OBJECT, + Opcode.IGET, Opcode.IGET_OBJECT, Opcode.IGET_OBJECT, + Opcode.IGET_OBJECT, + Opcode.CONST_4, + Opcode.MOVE_OBJECT, + Opcode.MOVE_OBJECT, + Opcode.MOVE_OBJECT, + Opcode.INVOKE_VIRTUAL_RANGE, + Opcode.MOVE_RESULT_OBJECT, Opcode.INVOKE_STATIC, - Opcode.MOVE_RESULT_OBJECT + Opcode.MOVE_RESULT_OBJECT, + Opcode.INVOKE_STATIC, + Opcode.RETURN_OBJECT ), - customFingerprint = { _, classDef -> - classDef.methods.count() == 3 + customFingerprint = { methodDef, classDef -> + classDef.methods.count() == 2 + && methodDef.name == "a" } ) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/suggestions/fingerprints/SuggestionContentsBuilderLegacyFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/general/suggestions/fingerprints/SuggestionContentsBuilderLegacyFingerprint.kt new file mode 100644 index 000000000..523fffc69 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/general/suggestions/fingerprints/SuggestionContentsBuilderLegacyFingerprint.kt @@ -0,0 +1,40 @@ +package app.revanced.patches.youtube.general.suggestions.fingerprints + +import app.revanced.patcher.extensions.or +import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode + +object SuggestionContentsBuilderLegacyFingerprint : MethodFingerprint( + returnType = "L", + accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, + parameters = listOf("L", "L"), + opcodes = listOf( + Opcode.INVOKE_VIRTUAL, + Opcode.MOVE_RESULT_OBJECT, + Opcode.IGET_OBJECT, + Opcode.INVOKE_INTERFACE, + Opcode.MOVE_RESULT_OBJECT, + Opcode.IPUT_OBJECT, + Opcode.IGET, + Opcode.INVOKE_VIRTUAL, + Opcode.IGET_OBJECT, + Opcode.IPUT_OBJECT, + Opcode.IGET_OBJECT, + Opcode.IPUT_OBJECT, + null, + null, + Opcode.INVOKE_DIRECT, + Opcode.IPUT_OBJECT, + Opcode.CONST_4, + Opcode.INVOKE_VIRTUAL, + Opcode.IGET_OBJECT, + Opcode.IGET_OBJECT, + Opcode.INVOKE_STATIC, + Opcode.MOVE_RESULT_OBJECT + ), + customFingerprint = { methodDef, classDef -> + classDef.methods.count() == 3 + && methodDef.name == "a" + } +) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/tabletminiplayer/TabletMiniPlayerPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/tabletminiplayer/TabletMiniPlayerPatch.kt index 7cfbf9226..9d1577123 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/tabletminiplayer/TabletMiniPlayerPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/tabletminiplayer/TabletMiniPlayerPatch.kt @@ -41,7 +41,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/trendingsearches/TrendingSearchesPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/trendingsearches/TrendingSearchesPatch.kt index 8977b557f..f28a3f7cb 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/trendingsearches/TrendingSearchesPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/trendingsearches/TrendingSearchesPatch.kt @@ -38,7 +38,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/widesearchbar/WideSearchBarPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/widesearchbar/WideSearchBarPatch.kt index 9d967e82e..dab58ea96 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/general/widesearchbar/WideSearchBarPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/general/widesearchbar/WideSearchBarPatch.kt @@ -35,7 +35,10 @@ import app.revanced.util.integrations.Constants.GENERAL "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconMMTPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconMMTPatch.kt index 333eb56a3..db4a601d6 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconMMTPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconMMTPatch.kt @@ -25,7 +25,10 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusIcon "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ], diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconRevancifyBluePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconRevancifyBluePatch.kt index 1a734ec73..54221c005 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconRevancifyBluePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconRevancifyBluePatch.kt @@ -25,7 +25,10 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusIcon "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconRevancifyRedPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconRevancifyRedPatch.kt index 90ebae478..6a53ad7e6 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconRevancifyRedPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/icon/CustomBrandingIconRevancifyRedPatch.kt @@ -25,7 +25,10 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusIcon "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ], diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/name/CustomBrandingNamePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/name/CustomBrandingNamePatch.kt index e40c9751c..51f9a2c71 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/name/CustomBrandingNamePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/name/CustomBrandingNamePatch.kt @@ -29,7 +29,10 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusLabel "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/doubletapbackground/DoubleTapOverlayBackgroundPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/doubletapbackground/DoubleTapOverlayBackgroundPatch.kt index 9b56844aa..7fc96228f 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/doubletapbackground/DoubleTapOverlayBackgroundPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/doubletapbackground/DoubleTapOverlayBackgroundPatch.kt @@ -23,7 +23,10 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ], diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/doubletaplength/DoubleTapLengthPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/doubletaplength/DoubleTapLengthPatch.kt index 5eacae75a..e56d80493 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/doubletaplength/DoubleTapLengthPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/doubletaplength/DoubleTapLengthPatch.kt @@ -28,7 +28,10 @@ import app.revanced.util.resources.ResourceUtils.copyResources "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/forcebackground/PlayerButtonBackgroundPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/forcebackground/PlayerButtonBackgroundPatch.kt index 6c6f1bc8b..254a4f01d 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/forcebackground/PlayerButtonBackgroundPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/forcebackground/PlayerButtonBackgroundPatch.kt @@ -25,7 +25,10 @@ import org.w3c.dom.Element "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ], diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/forceheader/PremiumHeadingPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/forceheader/PremiumHeadingPatch.kt index 07b753c25..6df33d702 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/forceheader/PremiumHeadingPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/forceheader/PremiumHeadingPatch.kt @@ -27,7 +27,10 @@ import kotlin.io.path.exists "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ], diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/materialyou/MaterialYouPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/materialyou/MaterialYouPatch.kt index b81995bea..8f2c27982 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/materialyou/MaterialYouPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/materialyou/MaterialYouPatch.kt @@ -32,7 +32,10 @@ import app.revanced.util.resources.ResourceUtils.copyXmlNode "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ], diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/pipnotification/PiPNotificationPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/pipnotification/PiPNotificationPatch.kt index 9384731d5..8673f7198 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/pipnotification/PiPNotificationPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/pipnotification/PiPNotificationPatch.kt @@ -31,7 +31,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/splashanimation/AddSplashAnimationPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/splashanimation/AddSplashAnimationPatch.kt index e2c3ef94b..cb4065aa9 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/splashanimation/AddSplashAnimationPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/splashanimation/AddSplashAnimationPatch.kt @@ -25,7 +25,10 @@ import kotlin.io.path.exists "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ], diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt index 5f0422f0a..d4e8a428c 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/theme/ThemePatch.kt @@ -31,7 +31,10 @@ import org.w3c.dom.Element "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/tooltip/TooltipContentViewPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/tooltip/TooltipContentViewPatch.kt index c0908919e..d8b9e0b85 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/tooltip/TooltipContentViewPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/tooltip/TooltipContentViewPatch.kt @@ -30,7 +30,10 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/ambientmode/PowerSaveModePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/ambientmode/PowerSaveModePatch.kt index 3e45cf2ee..237af9fc7 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/ambientmode/PowerSaveModePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/ambientmode/PowerSaveModePatch.kt @@ -38,7 +38,10 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/DebuggingPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/DebuggingPatch.kt index 93c0ae67d..0dd98006f 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/DebuggingPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/DebuggingPatch.kt @@ -23,7 +23,10 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ], diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/externalbrowser/ExternalBrowserPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/externalbrowser/ExternalBrowserPatch.kt index 5c7059d49..2649a7397 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/externalbrowser/ExternalBrowserPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/externalbrowser/ExternalBrowserPatch.kt @@ -32,7 +32,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/forceopus/ForceOpusCodecPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/forceopus/ForceOpusCodecPatch.kt index 784e0aa05..b59be99d1 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/forceopus/ForceOpusCodecPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/forceopus/ForceOpusCodecPatch.kt @@ -24,7 +24,10 @@ import app.revanced.util.integrations.Constants.MISC_PATH "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/forcevp9/ForceVP9CodecPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/forcevp9/ForceVP9CodecPatch.kt index f17299657..3eda449e9 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/forcevp9/ForceVP9CodecPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/forcevp9/ForceVP9CodecPatch.kt @@ -42,7 +42,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/language/LanguageSelectorPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/language/LanguageSelectorPatch.kt index 5bbeecce7..c423e7c6d 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/language/LanguageSelectorPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/language/LanguageSelectorPatch.kt @@ -8,6 +8,7 @@ import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import app.revanced.patches.youtube.misc.language.fingerprints.GeneralPrefsFingerprint +import app.revanced.patches.youtube.misc.language.fingerprints.GeneralPrefsLegacyFingerprint import app.revanced.patches.youtube.utils.settings.SettingsPatch import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction @@ -28,20 +29,30 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] ) @Suppress("unused") object LanguageSelectorPatch : BytecodePatch( - setOf(GeneralPrefsFingerprint) + setOf( + GeneralPrefsFingerprint, + GeneralPrefsLegacyFingerprint + ) ) { override fun execute(context: BytecodeContext) { - GeneralPrefsFingerprint.result?.let { + val result = GeneralPrefsFingerprint.result // YouTube v18.33.xx ~ + ?: GeneralPrefsLegacyFingerprint.result // ~ YouTube v18.33.xx + ?: throw GeneralPrefsFingerprint.exception + + result.let { it.mutableMethod.apply { - val targetIndex = it.scanResult.patternScanResult!!.startIndex + 1 + val targetIndex = it.scanResult.patternScanResult!!.endIndex val targetRegister = getInstruction(targetIndex).registerA addInstruction( @@ -49,7 +60,7 @@ object LanguageSelectorPatch : BytecodePatch( "const/4 v$targetRegister, 0x1" ) } - } ?: throw GeneralPrefsFingerprint.exception + } SettingsPatch.updatePatchStatus("language-switch") diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/language/fingerprints/GeneralPrefsFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/language/fingerprints/GeneralPrefsFingerprint.kt index e15653e68..c38eaf9c9 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/language/fingerprints/GeneralPrefsFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/language/fingerprints/GeneralPrefsFingerprint.kt @@ -7,12 +7,11 @@ object GeneralPrefsFingerprint : MethodFingerprint( returnType = "V", parameters = emptyList(), opcodes = listOf( + Opcode.IGET_OBJECT, + Opcode.SGET, + Opcode.INVOKE_INTERFACE, Opcode.MOVE_RESULT, Opcode.IF_NEZ, - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_VIRTUAL, - Opcode.GOTO ), strings = listOf("bedtime_reminder_toggle"), customFingerprint = { methodDef, _ -> methodDef.definingClass.endsWith("/GeneralPrefsFragment;") } diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/language/fingerprints/GeneralPrefsLegacyFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/language/fingerprints/GeneralPrefsLegacyFingerprint.kt new file mode 100644 index 000000000..c61adf17b --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/language/fingerprints/GeneralPrefsLegacyFingerprint.kt @@ -0,0 +1,19 @@ +package app.revanced.patches.youtube.misc.language.fingerprints + +import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint +import com.android.tools.smali.dexlib2.Opcode + +object GeneralPrefsLegacyFingerprint : MethodFingerprint( + returnType = "V", + parameters = emptyList(), + opcodes = listOf( + Opcode.IGET_OBJECT, + Opcode.CONST_WIDE_32, + Opcode.CONST_4, + Opcode.INVOKE_VIRTUAL, + Opcode.MOVE_RESULT, + Opcode.IF_NEZ + ), + strings = listOf("bedtime_reminder_toggle"), + customFingerprint = { methodDef, _ -> methodDef.definingClass.endsWith("/GeneralPrefsFragment;") } +) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/layoutswitch/LayoutSwitchPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/layoutswitch/LayoutSwitchPatch.kt index 4caecdfdf..d1986edc9 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/layoutswitch/LayoutSwitchPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/layoutswitch/LayoutSwitchPatch.kt @@ -36,7 +36,10 @@ import com.android.tools.smali.dexlib2.Opcode "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/minimizedplayback/MinimizedPlaybackPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/minimizedplayback/MinimizedPlaybackPatch.kt index 438ba4b2e..e70e86187 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/minimizedplayback/MinimizedPlaybackPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/minimizedplayback/MinimizedPlaybackPatch.kt @@ -37,7 +37,10 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/openlinksdirectly/OpenLinksDirectlyPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/openlinksdirectly/OpenLinksDirectlyPatch.kt index 27b53422c..beafaeb41 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/openlinksdirectly/OpenLinksDirectlyPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/openlinksdirectly/OpenLinksDirectlyPatch.kt @@ -30,7 +30,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/quic/QUICProtocolPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/quic/QUICProtocolPatch.kt index c15f68776..d35507e1c 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/quic/QUICProtocolPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/quic/QUICProtocolPatch.kt @@ -28,7 +28,10 @@ import app.revanced.util.integrations.Constants.MISC_PATH "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/splashanimation/NewSplashAnimationPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/splashanimation/NewSplashAnimationPatch.kt index da5aa9552..e9ac4b4e3 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/splashanimation/NewSplashAnimationPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/splashanimation/NewSplashAnimationPatch.kt @@ -40,7 +40,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/spoofappversion/SpoofAppVersionPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/spoofappversion/SpoofAppVersionPatch.kt index 41f343dd4..69d4cebef 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/spoofappversion/SpoofAppVersionPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/spoofappversion/SpoofAppVersionPatch.kt @@ -26,7 +26,10 @@ import app.revanced.util.resources.ResourceUtils.copyXmlNode "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/translations/TranslationsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/translations/TranslationsPatch.kt index cb820137b..3e5f778f6 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/translations/TranslationsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/translations/TranslationsPatch.kt @@ -24,7 +24,10 @@ import app.revanced.util.resources.ResourceHelper.addTranslations "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/navigation/homepage/ChangeHomePagePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/navigation/homepage/ChangeHomePagePatch.kt index 288bd2d9a..a450a8f6c 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/navigation/homepage/ChangeHomePagePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/navigation/homepage/ChangeHomePagePatch.kt @@ -31,7 +31,10 @@ import app.revanced.util.integrations.Constants.NAVIGATION "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/navigation/label/NavigationLabelPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/navigation/label/NavigationLabelPatch.kt index 8107308a8..c3f734905 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/navigation/label/NavigationLabelPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/navigation/label/NavigationLabelPatch.kt @@ -30,7 +30,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/navigation/navigationbuttons/NavigationButtonsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/navigation/navigationbuttons/NavigationButtonsPatch.kt index 74a3b9847..86c6f67e1 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/navigation/navigationbuttons/NavigationButtonsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/navigation/navigationbuttons/NavigationButtonsPatch.kt @@ -40,7 +40,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/navigation/tabletnavbar/TabletNavigationBarPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/navigation/tabletnavbar/TabletNavigationBarPatch.kt index c2a73eb21..05a36b773 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/navigation/tabletnavbar/TabletNavigationBarPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/navigation/tabletnavbar/TabletNavigationBarPatch.kt @@ -31,7 +31,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/overlaybutton/general/OverlayButtonsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/overlaybutton/general/OverlayButtonsPatch.kt index 12aa3fd37..cb838466f 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/overlaybutton/general/OverlayButtonsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/overlaybutton/general/OverlayButtonsPatch.kt @@ -45,7 +45,10 @@ import org.w3c.dom.Element "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/autoplaybutton/HideAutoplayButtonPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/autoplaybutton/HideAutoplayButtonPatch.kt index 678d3b056..fd7e4a82e 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/autoplaybutton/HideAutoplayButtonPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/autoplaybutton/HideAutoplayButtonPatch.kt @@ -38,7 +38,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/captionsbutton/HideCaptionsButtonPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/captionsbutton/HideCaptionsButtonPatch.kt index e902a16b7..6ee6e24d1 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/captionsbutton/HideCaptionsButtonPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/captionsbutton/HideCaptionsButtonPatch.kt @@ -34,7 +34,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/castbutton/HideCastButtonPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/castbutton/HideCastButtonPatch.kt index 12030d7d6..272a2ff82 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/castbutton/HideCastButtonPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/castbutton/HideCastButtonPatch.kt @@ -27,7 +27,10 @@ import app.revanced.util.integrations.Constants.PLAYER "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/collapsebutton/HideCollapseButtonPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/collapsebutton/HideCollapseButtonPatch.kt index 97bd52dcc..cc04adc47 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/collapsebutton/HideCollapseButtonPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/collapsebutton/HideCollapseButtonPatch.kt @@ -28,7 +28,10 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/endscreencards/HideEndScreenCardsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/endscreencards/HideEndScreenCardsPatch.kt index 07267bb47..31228ce0d 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/endscreencards/HideEndScreenCardsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/endscreencards/HideEndScreenCardsPatch.kt @@ -35,7 +35,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/filmstripoverlay/HideFilmstripOverlayPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/filmstripoverlay/HideFilmstripOverlayPatch.kt index 6ed89d677..fe4a22c0c 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/filmstripoverlay/HideFilmstripOverlayPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/filmstripoverlay/HideFilmstripOverlayPatch.kt @@ -48,7 +48,10 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/hapticfeedback/HapticFeedBackPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/hapticfeedback/HapticFeedBackPatch.kt index 684187648..2f080427a 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/hapticfeedback/HapticFeedBackPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/hapticfeedback/HapticFeedBackPatch.kt @@ -36,7 +36,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/infocards/HideInfoCardsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/infocards/HideInfoCardsPatch.kt index 9c03f9a68..203fa42c8 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/infocards/HideInfoCardsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/infocards/HideInfoCardsPatch.kt @@ -34,7 +34,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/musicbutton/HideMusicButtonPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/musicbutton/HideMusicButtonPatch.kt index 2cde6263d..76f1d9982 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/musicbutton/HideMusicButtonPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/musicbutton/HideMusicButtonPatch.kt @@ -33,7 +33,10 @@ import app.revanced.util.integrations.Constants.PLAYER "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/playerbuttonbg/HidePlayerButtonBackgroundPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/playerbuttonbg/HidePlayerButtonBackgroundPatch.kt index 2d03ac0f8..722893ff5 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/playerbuttonbg/HidePlayerButtonBackgroundPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/playerbuttonbg/HidePlayerButtonBackgroundPatch.kt @@ -31,7 +31,10 @@ import app.revanced.util.integrations.Constants.INTEGRATIONS_PATH "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/playeroverlayfilter/PlayerOverlayFilterPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/playeroverlayfilter/PlayerOverlayFilterPatch.kt index 3554e3cd6..81418f116 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/playeroverlayfilter/PlayerOverlayFilterPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/playeroverlayfilter/PlayerOverlayFilterPatch.kt @@ -37,7 +37,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/previousnextbutton/HidePreviousNextButtonPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/previousnextbutton/HidePreviousNextButtonPatch.kt index 8b27ae46b..81636fad9 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/previousnextbutton/HidePreviousNextButtonPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/previousnextbutton/HidePreviousNextButtonPatch.kt @@ -27,7 +27,10 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/seekmessage/SeekMessagePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/seekmessage/SeekMessagePatch.kt index 95f3aa5f0..47724479c 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/seekmessage/SeekMessagePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/seekmessage/SeekMessagePatch.kt @@ -33,7 +33,10 @@ import app.revanced.util.integrations.Constants.PLAYER "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/speedoverlay/SpeedOverlayPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/speedoverlay/SpeedOverlayPatch.kt index f714d6ef8..51aadb069 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/speedoverlay/SpeedOverlayPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/speedoverlay/SpeedOverlayPatch.kt @@ -40,7 +40,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/suggestactions/SuggestedActionsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/suggestactions/SuggestedActionsPatch.kt index ca135e381..0dd10dcb1 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/suggestactions/SuggestedActionsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/suggestactions/SuggestedActionsPatch.kt @@ -37,7 +37,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/suggestedvideooverlay/SuggestedVideoOverlayPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/suggestedvideooverlay/SuggestedVideoOverlayPatch.kt index c8de701c5..9d00846de 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/suggestedvideooverlay/SuggestedVideoOverlayPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/suggestedvideooverlay/SuggestedVideoOverlayPatch.kt @@ -39,7 +39,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/watermark/HideChannelWatermarkPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/watermark/HideChannelWatermarkPatch.kt index 7bb3d335a..98f9b3491 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/watermark/HideChannelWatermarkPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/watermark/HideChannelWatermarkPatch.kt @@ -32,7 +32,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/seekbar/append/AppendTimeStampInformationPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/seekbar/append/AppendTimeStampInformationPatch.kt index 97b16462b..0a114ba73 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/seekbar/append/AppendTimeStampInformationPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/seekbar/append/AppendTimeStampInformationPatch.kt @@ -41,7 +41,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/seekbar/color/SeekbarColorPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/seekbar/color/SeekbarColorPatch.kt index c9c6b374c..56f093bc4 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/seekbar/color/SeekbarColorPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/seekbar/color/SeekbarColorPatch.kt @@ -46,7 +46,10 @@ import org.w3c.dom.Element "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/seekbar/hide/HideSeekbarPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/seekbar/hide/HideSeekbarPatch.kt index ec42fb174..c84f8f0c3 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/seekbar/hide/HideSeekbarPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/seekbar/hide/HideSeekbarPatch.kt @@ -35,7 +35,10 @@ import app.revanced.util.integrations.Constants.SEEKBAR "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/seekbar/tapping/SeekbarTappingPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/seekbar/tapping/SeekbarTappingPatch.kt index a6e96a0cd..3e9d28573 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/seekbar/tapping/SeekbarTappingPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/seekbar/tapping/SeekbarTappingPatch.kt @@ -31,7 +31,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/seekbar/thumbnailpreview/NewThumbnailPreviewPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/seekbar/thumbnailpreview/NewThumbnailPreviewPatch.kt index 0206da3ca..3228b3e7e 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/seekbar/thumbnailpreview/NewThumbnailPreviewPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/seekbar/thumbnailpreview/NewThumbnailPreviewPatch.kt @@ -29,7 +29,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/seekbar/timestamps/HideTimeStampPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/seekbar/timestamps/HideTimeStampPatch.kt index 1a772cc63..4446c638b 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/seekbar/timestamps/HideTimeStampPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/seekbar/timestamps/HideTimeStampPatch.kt @@ -35,7 +35,10 @@ import app.revanced.util.integrations.Constants.SEEKBAR "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/shorts/commentpopuppanels/NewCommentPopupPanelsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/shorts/commentpopuppanels/NewCommentPopupPanelsPatch.kt index 74056719f..7bd361991 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/shorts/commentpopuppanels/NewCommentPopupPanelsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/shorts/commentpopuppanels/NewCommentPopupPanelsPatch.kt @@ -30,7 +30,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/shorts/shortscomponent/ShortsComponentPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/shorts/shortscomponent/ShortsComponentPatch.kt index 602cc72f9..75ed25e5f 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/shorts/shortscomponent/ShortsComponentPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/shorts/shortscomponent/ShortsComponentPatch.kt @@ -66,7 +66,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/shorts/startupshortsreset/DisableShortsOnStartupPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/shorts/startupshortsreset/DisableShortsOnStartupPatch.kt index f99b97a85..610b60075 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/shorts/startupshortsreset/DisableShortsOnStartupPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/shorts/startupshortsreset/DisableShortsOnStartupPatch.kt @@ -31,7 +31,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/swipe/controls/SwipeControlsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/swipe/controls/SwipeControlsPatch.kt index 4123e1371..9a1c7282d 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/swipe/controls/SwipeControlsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/swipe/controls/SwipeControlsPatch.kt @@ -43,7 +43,10 @@ import com.android.tools.smali.dexlib2.immutable.ImmutableMethod "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/PlayerParameterBuilderFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fingerprints/PlayerParameterBuilderFingerprint.kt similarity index 92% rename from src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/PlayerParameterBuilderFingerprint.kt rename to src/main/kotlin/app/revanced/patches/youtube/utils/fingerprints/PlayerParameterBuilderFingerprint.kt index 8e78bdb18..8a903cc17 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/PlayerParameterBuilderFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fingerprints/PlayerParameterBuilderFingerprint.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.youtube.utils.fix.parameter.fingerprints +package app.revanced.patches.youtube.utils.fingerprints import app.revanced.patcher.extensions.or import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/SpoofPlayerParameterPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/SpoofPlayerParameterPatch.kt index f5fab6486..92c6be3fd 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/SpoofPlayerParameterPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/SpoofPlayerParameterPatch.kt @@ -11,7 +11,7 @@ import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import app.revanced.patcher.util.smali.ExternalLabel -import app.revanced.patches.youtube.utils.fix.parameter.fingerprints.PlayerParameterBuilderFingerprint +import app.revanced.patches.youtube.utils.fingerprints.PlayerParameterBuilderFingerprint import app.revanced.patches.youtube.utils.fix.parameter.fingerprints.PlayerResponseModelImplGeneralFingerprint import app.revanced.patches.youtube.utils.fix.parameter.fingerprints.PlayerResponseModelImplLiveStreamFingerprint import app.revanced.patches.youtube.utils.fix.parameter.fingerprints.PlayerResponseModelImplRecommendedLevel @@ -45,7 +45,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/microg/MicroGPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/microg/MicroGPatch.kt index 4ae072cae..141520f82 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/microg/MicroGPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/microg/MicroGPatch.kt @@ -36,7 +36,10 @@ import app.revanced.util.resources.ResourceHelper.setMicroG "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/playerresponse/PlayerResponsePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/playerresponse/PlayerResponsePatch.kt new file mode 100644 index 000000000..b1947a3c2 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/playerresponse/PlayerResponsePatch.kt @@ -0,0 +1,37 @@ +package app.revanced.patches.youtube.utils.playerresponse + +import app.revanced.extensions.exception +import app.revanced.patcher.data.BytecodeContext +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod +import app.revanced.patches.youtube.utils.fingerprints.PlayerParameterBuilderFingerprint + +object PlayerResponsePatch : BytecodePatch( + setOf(PlayerParameterBuilderFingerprint) +) { + private lateinit var insertMethod: MutableMethod + + /** + * Adds an invoke-static instruction, called with the new id when the video changes + * @param methodDescriptor which method to call. Params have to be `Ljava/lang/String;` + */ + internal fun injectCall( + methodDescriptor: String + ) { + insertMethod.addInstructions( + 0, // move-result-object offset + "invoke-static {p1}, $methodDescriptor" + ) + } + + override fun execute(context: BytecodeContext) { + + PlayerParameterBuilderFingerprint.result?.let { + insertMethod = it.mutableMethod + } ?: throw PlayerParameterBuilderFingerprint.exception + + } + +} + diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/returnyoutubedislike/general/ReturnYouTubeDislikePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/returnyoutubedislike/general/ReturnYouTubeDislikePatch.kt index 196db64cf..d9ed7914b 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/returnyoutubedislike/general/ReturnYouTubeDislikePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/returnyoutubedislike/general/ReturnYouTubeDislikePatch.kt @@ -11,6 +11,8 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion. import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch +import app.revanced.patches.youtube.utils.litho.LithoFilterPatch +import app.revanced.patches.youtube.utils.playerresponse.PlayerResponsePatch import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.DislikeFingerprint import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.LikeFingerprint import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.RemoveLikeFingerprint @@ -23,6 +25,8 @@ import app.revanced.patches.youtube.utils.returnyoutubedislike.oldlayout.ReturnY import app.revanced.patches.youtube.utils.returnyoutubedislike.shorts.ReturnYouTubeDislikeShortsPatch import app.revanced.patches.youtube.utils.settings.SettingsPatch import app.revanced.patches.youtube.utils.videoid.general.VideoIdPatch +import app.revanced.util.integrations.Constants +import app.revanced.util.integrations.Constants.PATCHES_PATH import app.revanced.util.integrations.Constants.UTILS_PATH import com.android.tools.smali.dexlib2.Opcode import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction @@ -34,6 +38,8 @@ import com.android.tools.smali.dexlib2.iface.reference.Reference name = "Return YouTube Dislike", description = "Shows the dislike count of videos using the Return YouTube Dislike API.", dependencies = [ + LithoFilterPatch::class, + PlayerResponsePatch::class, ReturnYouTubeDislikeOldLayoutPatch::class, ReturnYouTubeDislikeShortsPatch::class, SettingsPatch::class, @@ -52,7 +58,10 @@ import com.android.tools.smali.dexlib2.iface.reference.Reference "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] @@ -180,7 +189,12 @@ object ReturnYouTubeDislikePatch : BytecodePatch( } } ?: throw TextComponentConstructorFingerprint.exception + if (SettingsPatch.upward1834) { + LithoFilterPatch.addFilter(FILTER_CLASS_DESCRIPTOR) + } + PlayerResponsePatch.injectCall("$FILTER_CLASS_DESCRIPTOR->newPlayerResponseVideoId(Ljava/lang/String;)V") + PlayerResponsePatch.injectCall("$INTEGRATIONS_RYD_CLASS_DESCRIPTOR->preloadVideoId(Ljava/lang/String;)V") VideoIdPatch.injectCall("$INTEGRATIONS_RYD_CLASS_DESCRIPTOR->newVideoLoaded(Ljava/lang/String;)V") /** @@ -195,6 +209,9 @@ object ReturnYouTubeDislikePatch : BytecodePatch( private const val INTEGRATIONS_RYD_CLASS_DESCRIPTOR = "$UTILS_PATH/ReturnYouTubeDislikePatch;" + private const val FILTER_CLASS_DESCRIPTOR = + "$PATCHES_PATH/ads/ReturnYouTubeDislikeFilterPatch;" + private lateinit var conversionContextFieldReference: Reference private var tmpRegister: Int = 12 diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/returnyoutubedislike/shorts/ReturnYouTubeDislikeShortsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/returnyoutubedislike/shorts/ReturnYouTubeDislikeShortsPatch.kt index c0f471c03..65a3d6e86 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/returnyoutubedislike/shorts/ReturnYouTubeDislikeShortsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/returnyoutubedislike/shorts/ReturnYouTubeDislikeShortsPatch.kt @@ -2,17 +2,25 @@ package app.revanced.patches.youtube.utils.returnyoutubedislike.shorts import app.revanced.extensions.exception import app.revanced.patcher.data.BytecodeContext +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patches.youtube.utils.returnyoutubedislike.shorts.fingerprints.ShortsTextViewFingerprint +import app.revanced.patches.youtube.utils.returnyoutubedislike.shorts.fingerprints.TextComponentSpecFingerprint import app.revanced.util.integrations.Constants.UTILS_PATH import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction +import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction object ReturnYouTubeDislikeShortsPatch : BytecodePatch( - setOf(ShortsTextViewFingerprint) + setOf( + ShortsTextViewFingerprint, + TextComponentSpecFingerprint + ) ) { override fun execute(context: BytecodeContext) { ShortsTextViewFingerprint.result?.let { @@ -50,6 +58,26 @@ object ReturnYouTubeDislikeShortsPatch : BytecodePatch( ) } } ?: throw ShortsTextViewFingerprint.exception + + TextComponentSpecFingerprint.result?.let { + it.mutableMethod.apply { + val insertIndex = it.scanResult.patternScanResult!!.startIndex + + val charSequenceRegister = getInstruction(insertIndex).registerC + val conversionContextRegister = getInstruction(0).registerA + + val replaceReference = getInstruction(insertIndex).reference + + addInstructions( + insertIndex + 1, """ + invoke-static {v$conversionContextRegister, v$charSequenceRegister}, $INTEGRATIONS_RYD_CLASS_DESCRIPTOR->onCharSequenceLoaded(Ljava/lang/Object;Ljava/lang/CharSequence;)Ljava/lang/CharSequence; + move-result-object v$charSequenceRegister + invoke-static {v$charSequenceRegister}, $replaceReference + """ + ) + removeInstruction(insertIndex) + } + } ?: throw TextComponentSpecFingerprint.exception } private const val INTEGRATIONS_RYD_CLASS_DESCRIPTOR = diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/returnyoutubedislike/shorts/fingerprints/TextComponentSpecFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/returnyoutubedislike/shorts/fingerprints/TextComponentSpecFingerprint.kt new file mode 100644 index 000000000..e28ecc2c1 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/returnyoutubedislike/shorts/fingerprints/TextComponentSpecFingerprint.kt @@ -0,0 +1,14 @@ +package app.revanced.patches.youtube.utils.returnyoutubedislike.shorts.fingerprints + +import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint +import com.android.tools.smali.dexlib2.Opcode + +object TextComponentSpecFingerprint : MethodFingerprint( + returnType = "Ljava/lang/CharSequence;", + opcodes = listOf( + Opcode.INVOKE_STATIC, + Opcode.MOVE_RESULT_OBJECT, + Opcode.CONST_4 + ), + strings = listOf("Failed to set PB Style Run Extension in TextComponentSpec. Extension id: %s") +) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/settings/SettingsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/settings/SettingsPatch.kt index 890362a69..175af56bc 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/settings/SettingsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/settings/SettingsPatch.kt @@ -43,7 +43,10 @@ import java.util.concurrent.TimeUnit "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ], @@ -86,6 +89,7 @@ object SettingsPatch : AbstractSettingsResourcePatch( val playServicesVersion = node.textContent.toInt() upward1828 = playServicesVersion >= 232900000 + upward1834 = playServicesVersion >= 233502000 break } @@ -193,6 +197,7 @@ object SettingsPatch : AbstractSettingsResourcePatch( internal lateinit var contexts: ResourceContext internal var upward1828: Boolean = false + internal var upward1834: Boolean = false internal fun addPreference(settingArray: Array) { contexts.addPreference(settingArray) diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/sponsorblock/SponsorBlockPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/sponsorblock/SponsorBlockPatch.kt index 1a3706b94..369639d0a 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/sponsorblock/SponsorBlockPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/sponsorblock/SponsorBlockPatch.kt @@ -29,7 +29,10 @@ import app.revanced.util.resources.ResourceUtils.copyXmlNode "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/CustomPlaybackSpeedPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/CustomPlaybackSpeedPatch.kt index 35603f1a5..ef39cb5ef 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/CustomPlaybackSpeedPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/CustomPlaybackSpeedPatch.kt @@ -28,7 +28,10 @@ import app.revanced.util.integrations.Constants.VIDEO_PATH "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrVideoPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrVideoPatch.kt index 035f70530..256d65aa4 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrVideoPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrVideoPatch.kt @@ -30,7 +30,10 @@ import app.revanced.util.integrations.Constants.VIDEO_PATH "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt index 3b5254d74..852d942eb 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt @@ -47,7 +47,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt index 09049f4c3..9fa161fa2 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/video/speed/PlaybackSpeedPatch.kt @@ -37,7 +37,10 @@ import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction "18.30.37", "18.31.40", "18.32.39", - "18.33.40" + "18.33.40", + "18.34.38", + "18.35.36", + "18.36.39" ] ) ] diff --git a/src/main/resources/youtube/settings/values-v21/strings.xml b/src/main/resources/youtube/settings/values-v21/strings.xml index 1c9063d33..e08805ef2 100644 --- a/src/main/resources/youtube/settings/values-v21/strings.xml +++ b/src/main/resources/youtube/settings/values-v21/strings.xml @@ -67,7 +67,13 @@ @string/pref_about_category ReturnYouTubeDislike.com + + Dislikes temporarily not available (API timed out) + Dislikes not available (status %d) + Dislikes not available (%s) + Return YouTube Dislike + SponsorBlock amoled