From f71c1a0c156b2320e06dd98b3e5b276560d438aa Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Mon, 25 Sep 2023 23:50:41 +0200 Subject: [PATCH] fix(YouTube - Client spoof): Display seekbar thumbnails in high quality --- .../patches/spoof/SpoofSignaturePatch.java | 22 +++++++++++++++---- .../requests/StoryBoardRendererRequester.java | 2 ++ .../requests/StoryBoardRendererRoutes.java | 4 ++-- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/app/revanced/integrations/patches/spoof/SpoofSignaturePatch.java b/app/src/main/java/app/revanced/integrations/patches/spoof/SpoofSignaturePatch.java index 616f4cdc..fc08ad1a 100644 --- a/app/src/main/java/app/revanced/integrations/patches/spoof/SpoofSignaturePatch.java +++ b/app/src/main/java/app/revanced/integrations/patches/spoof/SpoofSignaturePatch.java @@ -40,6 +40,7 @@ public class SpoofSignaturePatch { private static boolean isPlayingShorts; private static String storyboardRendererSpec = ""; + private static int recommendedLevel; /** * Injection point. @@ -82,17 +83,30 @@ public class SpoofSignaturePatch { return SettingsEnum.SPOOF_SIGNATURE.getBoolean(); } + /** * Injection point. */ - public static String getStoryboardRendererSpec() { + public static String getStoryboardRendererSpec(String originalStoryboardRendererSpec) { + if (!SettingsEnum.SPOOF_SIGNATURE.getBoolean()) return originalStoryboardRendererSpec; + return storyboardRendererSpec; } - public static void setStoryboardRendererSpec(String newlyLoadedStoryboardRendererSpec) { - if (storyboardRendererSpec.equals(newlyLoadedStoryboardRendererSpec)) - return; + /** + * Injection point. + */ + public static int getRecommendedLevel(int originalLevel) { + if (!SettingsEnum.SPOOF_SIGNATURE.getBoolean()) return originalLevel; + return recommendedLevel; + } + + public static void setStoryboardRendererSpec(String newlyLoadedStoryboardRendererSpec) { storyboardRendererSpec = newlyLoadedStoryboardRendererSpec; } + + public static void setRecommendedLevel(int level) { + recommendedLevel = level; + } } diff --git a/app/src/main/java/app/revanced/integrations/patches/spoof/requests/StoryBoardRendererRequester.java b/app/src/main/java/app/revanced/integrations/patches/spoof/requests/StoryBoardRendererRequester.java index 44f10f5e..1969e48b 100644 --- a/app/src/main/java/app/revanced/integrations/patches/spoof/requests/StoryBoardRendererRequester.java +++ b/app/src/main/java/app/revanced/integrations/patches/spoof/requests/StoryBoardRendererRequester.java @@ -53,6 +53,8 @@ public class StoryBoardRendererRequester { final String storyboardsRendererSpec = storyboardsRenderer.getString("spec"); SpoofSignaturePatch.setStoryboardRendererSpec(storyboardsRendererSpec); + SpoofSignaturePatch.setRecommendedLevel(storyboardsRenderer.getInt("recommendedLevel")); + LogHelper.printDebug(() -> "StoryBoard renderer spec: " + storyboardsRendererSpec); } else { diff --git a/app/src/main/java/app/revanced/integrations/patches/spoof/requests/StoryBoardRendererRoutes.java b/app/src/main/java/app/revanced/integrations/patches/spoof/requests/StoryBoardRendererRoutes.java index f78ab96f..7cd05768 100644 --- a/app/src/main/java/app/revanced/integrations/patches/spoof/requests/StoryBoardRendererRoutes.java +++ b/app/src/main/java/app/revanced/integrations/patches/spoof/requests/StoryBoardRendererRoutes.java @@ -12,8 +12,8 @@ public final class StoryBoardRendererRoutes { static final Route GET_STORYBOARD_SPEC = new Route( Route.Method.POST, "player" + - "?fields=storyboards.playerStoryboardSpecRenderer.spec," + - "storyboards.playerLiveStoryboardSpecRenderer.spec" + "?fields=storyboards.playerStoryboardSpecRenderer," + + "storyboards.playerLiveStoryboardSpecRenderer" ); private StoryBoardRendererRoutes() {