diff --git a/app/src/main/java/app/revanced/integrations/youtube/patches/components/PlaybackSpeedMenuFilterPatch.java b/app/src/main/java/app/revanced/integrations/youtube/patches/components/PlaybackSpeedMenuFilterPatch.java index bada1e1c79..7205863029 100644 --- a/app/src/main/java/app/revanced/integrations/youtube/patches/components/PlaybackSpeedMenuFilterPatch.java +++ b/app/src/main/java/app/revanced/integrations/youtube/patches/components/PlaybackSpeedMenuFilterPatch.java @@ -20,30 +20,30 @@ public final class PlaybackSpeedMenuFilterPatch extends Filter { */ public static volatile boolean isPlaybackRateSelectorMenuVisible; - private final StringFilterGroup playbackRateSelectorGroup; + private final StringFilterGroup oldPlaybackMenuGroup; public PlaybackSpeedMenuFilterPatch() { // 0.05x litho speed menu. - playbackRateSelectorGroup = new StringFilterGroup( + var playbackRateSelectorGroup = new StringFilterGroup( Settings.CUSTOM_SPEED_MENU, "playback_rate_selector_menu_sheet.eml-js" ); // Old litho based speed menu. - var oldPlaybackMenu = new StringFilterGroup( + oldPlaybackMenuGroup = new StringFilterGroup( Settings.CUSTOM_SPEED_MENU, "playback_speed_sheet_content.eml-js"); - addPathCallbacks(playbackRateSelectorGroup, oldPlaybackMenu); + addPathCallbacks(playbackRateSelectorGroup, oldPlaybackMenuGroup); } @Override boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray, StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) { - if (matchedGroup == playbackRateSelectorGroup) { - isPlaybackRateSelectorMenuVisible = true; - } else { + if (matchedGroup == oldPlaybackMenuGroup) { isOldPlaybackSpeedMenuVisible = true; + } else { + isPlaybackRateSelectorMenuVisible = true; } return false; diff --git a/app/src/main/java/app/revanced/integrations/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java b/app/src/main/java/app/revanced/integrations/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java index bd8ed537c6..305e733dfa 100644 --- a/app/src/main/java/app/revanced/integrations/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java +++ b/app/src/main/java/app/revanced/integrations/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java @@ -61,19 +61,22 @@ private static void loadCustomSpeeds() { } customPlaybackSpeeds = new float[speedStrings.length]; - for (int i = 0, length = speedStrings.length; i < length; i++) { - final float speed = Float.parseFloat(speedStrings[i]); - if (speed <= 0 || arrayContains(customPlaybackSpeeds, speed)) { + + int i = 0; + for (String speedString : speedStrings) { + final float speedFloat = Float.parseFloat(speedString); + if (speedFloat <= 0 || arrayContains(customPlaybackSpeeds, speedFloat)) { throw new IllegalArgumentException(); } - if (speed >= MAXIMUM_PLAYBACK_SPEED) { + if (speedFloat >= MAXIMUM_PLAYBACK_SPEED) { resetCustomSpeeds(str("revanced_custom_playback_speeds_invalid", MAXIMUM_PLAYBACK_SPEED)); loadCustomSpeeds(); return; } - customPlaybackSpeeds[i] = speed; + customPlaybackSpeeds[i] = speedFloat; + i++; } } catch (Exception ex) { Logger.printInfo(() -> "parse error", ex); diff --git a/app/src/main/java/app/revanced/integrations/youtube/patches/playback/speed/RememberPlaybackSpeedPatch.java b/app/src/main/java/app/revanced/integrations/youtube/patches/playback/speed/RememberPlaybackSpeedPatch.java index 73cadb2331..0ea64f93f2 100644 --- a/app/src/main/java/app/revanced/integrations/youtube/patches/playback/speed/RememberPlaybackSpeedPatch.java +++ b/app/src/main/java/app/revanced/integrations/youtube/patches/playback/speed/RememberPlaybackSpeedPatch.java @@ -49,6 +49,7 @@ public static void userSelectedPlaybackSpeed(float playbackSpeed) { if (Settings.PLAYBACK_SPEED_DEFAULT.get() == finalPlaybackSpeed) { // User changed to a different speed and immediately changed back. + // Or the user is going past 8.0x in the glitched out 0.05x menu. return; } Settings.PLAYBACK_SPEED_DEFAULT.save(finalPlaybackSpeed);