From 4cbe8338b3f4ab49139168d7a3d0c9ebebf68952 Mon Sep 17 00:00:00 2001 From: Rizwan Date: Fri, 20 Jan 2023 12:21:36 +0500 Subject: [PATCH] feat(youtube): `open-links-externally` patch --- .../patches/OpenLinksExternallyPatch.java | 19 +++++++++++++++++++ .../integrations/settings/SettingsEnum.java | 1 + 2 files changed, 20 insertions(+) create mode 100644 app/src/main/java/app/revanced/integrations/patches/OpenLinksExternallyPatch.java diff --git a/app/src/main/java/app/revanced/integrations/patches/OpenLinksExternallyPatch.java b/app/src/main/java/app/revanced/integrations/patches/OpenLinksExternallyPatch.java new file mode 100644 index 00000000..4f5ce40b --- /dev/null +++ b/app/src/main/java/app/revanced/integrations/patches/OpenLinksExternallyPatch.java @@ -0,0 +1,19 @@ +package app.revanced.integrations.patches; + +import app.revanced.integrations.settings.SettingsEnum; + +public class OpenLinksExternallyPatch { + /** + * Override 'android.support.customtabs.action.CustomTabsService', + * in order to open links in the default browser. This is done by returning an empty string, + * for the service that handles custom tabs in the Android support library + * which opens links in the default service instead. + * + * @param original The original custom tabs service. + * @return The new, default service to open links with or the original service. + */ + public static String enableExternalBrowser(String original) { + if (SettingsEnum.ENABLE_EXTERNAL_BROWSER.getBoolean()) original = ""; + return original; + } +} diff --git a/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java b/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java index 4df4a983..041a1e57 100644 --- a/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java +++ b/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java @@ -100,6 +100,7 @@ public enum SettingsEnum { ENABLE_MINIMIZED_PLAYBACK("revanced_enable_minimized_playback", true, ReturnType.BOOLEAN), OPEN_LINKS_DIRECTLY("revanced_uri_redirect", true, ReturnType.BOOLEAN, true), DISABLE_ZOOM_HAPTICS("revanced_disable_zoom_haptics", true, ReturnType.BOOLEAN, false), + ENABLE_EXTERNAL_BROWSER("revanced_enable_external_browser", true, ReturnType.BOOLEAN, true), // Swipe controls ENABLE_SWIPE_BRIGHTNESS("revanced_enable_swipe_brightness", true, ReturnType.BOOLEAN),