From b5c0c843a502a7f4938053d136e826fbf7399e7b Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Sat, 7 Jan 2023 09:39:26 +0100 Subject: [PATCH] feat(youtube): `remember-playback-rate` patch Signed-off-by: oSumAtrIX --- .../speed/RememberPlaybackRatePatch.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 app/src/main/java/app/revanced/integrations/patches/playback/speed/RememberPlaybackRatePatch.java diff --git a/app/src/main/java/app/revanced/integrations/patches/playback/speed/RememberPlaybackRatePatch.java b/app/src/main/java/app/revanced/integrations/patches/playback/speed/RememberPlaybackRatePatch.java new file mode 100644 index 00000000..b68ff784 --- /dev/null +++ b/app/src/main/java/app/revanced/integrations/patches/playback/speed/RememberPlaybackRatePatch.java @@ -0,0 +1,32 @@ +package app.revanced.integrations.patches.playback.speed; + +import static app.revanced.integrations.utils.SharedPrefHelper.SharedPrefNames.REVANCED_PREFS; +import static app.revanced.integrations.utils.SharedPrefHelper.getFloat; +import static app.revanced.integrations.utils.SharedPrefHelper.saveFloat; + +import android.widget.Toast; + +import app.revanced.integrations.settings.SettingsEnum; +import app.revanced.integrations.utils.LogHelper; +import app.revanced.integrations.utils.ReVancedUtils; + + +public final class RememberPlaybackRatePatch { + private static final String REMEMBERED_PLAYBACK_RATE_PREFERENCE_KEY = "revanced_remember_playback_rate_last_value"; + + public static void rememberPlaybackRate(final float selectedPlaybackRate) { + if (!SettingsEnum.REMEMBER_PLAYBACK_RATE_SELECTED.getBoolean()) return; + + Toast.makeText(ReVancedUtils.getContext(), "Playback rate will be remembered", Toast.LENGTH_SHORT).show(); + + LogHelper.printDebug(() -> "Remembering playback rate: " + selectedPlaybackRate); + saveFloat(REVANCED_PREFS, REMEMBERED_PLAYBACK_RATE_PREFERENCE_KEY, selectedPlaybackRate); + } + + public static float getRememberedPlaybackRate() { + final var playbackRateOverride = getFloat(REVANCED_PREFS, REMEMBERED_PLAYBACK_RATE_PREFERENCE_KEY, -2f); + + LogHelper.printDebug(() -> "Overriding playback rate: " + playbackRateOverride); + return playbackRateOverride; + } +}