Skip to content
This repository has been archived by the owner on Dec 11, 2024. It is now read-only.

Commit

Permalink
feat(YouTube Music - Thumbnails): Add Alternative domain patch
Browse files Browse the repository at this point in the history
---------

Co-authored-by: inotia00 <[email protected]>
  • Loading branch information
2 people authored and Francesco146 committed Jul 14, 2024
1 parent 28b648c commit 15ae875
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package app.revanced.integrations.music.patches.misc;

import static app.revanced.integrations.music.settings.Settings.ALTERNATIVE_DOMAIN;
import static app.revanced.integrations.music.settings.Settings.USE_ALTERNATIVE_DOMAIN;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import app.revanced.integrations.shared.utils.Logger;

@SuppressWarnings("unused")
public final class AlternativeDomainPatch {

private static final String YOUTUBE_STATIC_THUMBNAILS_DOMAIN_REGEX = "(yt[3-4]|lh[3-6]|play-lh)\\.(ggpht|googleusercontent)\\.com";

private static final Pattern YOUTUBE_STATIC_THUMBNAILS_DOMAIN_PATTERN = Pattern.compile(YOUTUBE_STATIC_THUMBNAILS_DOMAIN_REGEX);


public static String overrideImageURL(String originalUrl) {
try {
if (USE_ALTERNATIVE_DOMAIN.get()) {
final Matcher matcher = YOUTUBE_STATIC_THUMBNAILS_DOMAIN_PATTERN.matcher(originalUrl);
if (matcher.find()) {
final String finalOriginalUrl = originalUrl;
final String finalReplacementUrl = originalUrl.replaceAll(
YOUTUBE_STATIC_THUMBNAILS_DOMAIN_REGEX,
ALTERNATIVE_DOMAIN.get()
);
Logger.printDebug(() -> "Replaced: '" + finalOriginalUrl + "' with: '" + finalReplacementUrl + "'");
return finalReplacementUrl;
}
}
} catch (Exception ex) {
Logger.printException(() -> "overrideImageURL failure", ex);
}
return originalUrl;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,8 @@ public class Settings extends BaseSettings {
public static final BooleanSetting ENABLE_OPUS_CODEC = new BooleanSetting("revanced_enable_opus_codec", FALSE, true);
public static final BooleanSetting ENABLE_CAIRO_SPLASH_ANIMATION = new BooleanSetting("revanced_enable_cairo_splash_animation", FALSE, true);
public static final BooleanSetting SANITIZE_SHARING_LINKS = new BooleanSetting("revanced_sanitize_sharing_links", TRUE, true);
public static final BooleanSetting USE_ALTERNATIVE_DOMAIN = new BooleanSetting("revanced_use_alternative_domain", FALSE, true);
public static final StringSetting ALTERNATIVE_DOMAIN = new StringSetting("revanced_alternative_domain", "yt4.ggpht.com");
public static final BooleanSetting SETTINGS_IMPORT_EXPORT = new BooleanSetting("revanced_extended_settings_import_export", FALSE, false);


Expand Down Expand Up @@ -209,6 +211,7 @@ public class Settings extends BaseSettings {
SB_API_URL.key,
SETTINGS_IMPORT_EXPORT.key,
SPOOF_APP_VERSION_TARGET.key,
ALTERNATIVE_DOMAIN.key,
OPTIONAL_SPONSOR_BLOCK_SETTINGS_PREFIX
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package app.revanced.integrations.music.settings.preference;

import static app.revanced.integrations.music.settings.Settings.ALTERNATIVE_DOMAIN;
import static app.revanced.integrations.music.settings.Settings.CHANGE_START_PAGE;
import static app.revanced.integrations.music.settings.Settings.CUSTOM_FILTER_STRINGS;
import static app.revanced.integrations.music.settings.Settings.CUSTOM_PLAYBACK_SPEEDS;
Expand Down Expand Up @@ -126,7 +127,8 @@ public void onCreate(Bundle savedInstanceState) {

if (settings.equals(CHANGE_START_PAGE)) {
ResettableListPreference.showDialog(mActivity, setting, 2);
} else if (settings.equals(CUSTOM_FILTER_STRINGS)
} else if (settings.equals(ALTERNATIVE_DOMAIN)
|| settings.equals(CUSTOM_FILTER_STRINGS)
|| settings.equals(HIDE_ACCOUNT_MENU_FILTER_STRINGS)
|| settings.equals(CUSTOM_PLAYBACK_SPEEDS)) {
ResettableEditTextPreference.showDialog(mActivity, setting);
Expand Down

0 comments on commit 15ae875

Please sign in to comment.