Skip to content

Commit

Permalink
feat(YouTube): DeArrow alternative domain (#20)
Browse files Browse the repository at this point in the history
  • Loading branch information
OLAF74 committed Jul 1, 2024
1 parent 9228e65 commit dbf5b0a
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
package app.revanced.integrations.youtube.patches.alternativethumbnails;

import static app.revanced.integrations.shared.utils.StringRef.str;


import static app.revanced.integrations.youtube.settings.Settings.ALT_THUMBNAIL_ALTERNATIVE_DOMAIN_NAME;
import static app.revanced.integrations.youtube.settings.Settings.ALT_THUMBNAIL_ALTERNATIVE_DOMAIN_ENABLE;
import static app.revanced.integrations.youtube.settings.Settings.ALT_THUMBNAIL_HOME;
import static app.revanced.integrations.youtube.settings.Settings.ALT_THUMBNAIL_LIBRARY;
import static app.revanced.integrations.youtube.settings.Settings.ALT_THUMBNAIL_PLAYER;
Expand Down Expand Up @@ -70,6 +74,13 @@ public boolean isAvailable() {
}
}

public static final class DeArrowAlternativeDomainAvailability implements Setting.Availability {
@Override
public boolean isAvailable() {
return ALT_THUMBNAIL_ALTERNATIVE_DOMAIN_ENABLE.get();
}
}

public static final class StillImagesAvailability implements Setting.Availability {
public static boolean usingStillImagesAnywhere() {
return ALT_THUMBNAIL_HOME.get().useStillImages
Expand Down Expand Up @@ -264,6 +275,9 @@ private static void handleDeArrowError(@NonNull String url, int statusCode) {
*/
public static String overrideImageURL(String originalUrl) {
try {
if (ALT_THUMBNAIL_ALTERNATIVE_DOMAIN_ENABLE.get() && originalUrl.contains("yt3.ggpht.com"))
originalUrl = originalUrl.replaceAll("yt3.ggpht.com", ALT_THUMBNAIL_ALTERNATIVE_DOMAIN_NAME.get());

ThumbnailOption option = optionSettingForCurrentNavigation();

if (option == ThumbnailOption.ORIGINAL) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import app.revanced.integrations.shared.settings.StringSetting;
import app.revanced.integrations.shared.settings.preference.SharedPrefCategory;
import app.revanced.integrations.youtube.patches.alternativethumbnails.AlternativeThumbnailsPatch.DeArrowAvailability;
import app.revanced.integrations.youtube.patches.alternativethumbnails.AlternativeThumbnailsPatch.DeArrowAlternativeDomainAvailability;
import app.revanced.integrations.youtube.patches.alternativethumbnails.AlternativeThumbnailsPatch.StillImagesAvailability;
import app.revanced.integrations.youtube.patches.alternativethumbnails.AlternativeThumbnailsPatch.ThumbnailOption;
import app.revanced.integrations.youtube.patches.alternativethumbnails.AlternativeThumbnailsPatch.ThumbnailStillTime;
Expand Down Expand Up @@ -59,6 +60,8 @@ public class Settings extends BaseSettings {
public static final BooleanSetting ALT_THUMBNAIL_DEARROW_CONNECTION_TOAST = new BooleanSetting("revanced_alt_thumbnail_dearrow_connection_toast", FALSE, new DeArrowAvailability());
public static final EnumSetting<ThumbnailStillTime> ALT_THUMBNAIL_STILLS_TIME = new EnumSetting<>("revanced_alt_thumbnail_stills_time", ThumbnailStillTime.MIDDLE, new StillImagesAvailability());
public static final BooleanSetting ALT_THUMBNAIL_STILLS_FAST = new BooleanSetting("revanced_alt_thumbnail_stills_fast", FALSE, new StillImagesAvailability());
public static final StringSetting ALT_THUMBNAIL_ALTERNATIVE_DOMAIN_NAME = new StringSetting("revanced_alt_thumbnail_alternative_domain_name", "yt4.ggpht.com", new DeArrowAlternativeDomainAvailability());
public static final BooleanSetting ALT_THUMBNAIL_ALTERNATIVE_DOMAIN_ENABLE = new BooleanSetting("revanced_alt_thumbnail_alternative_domain_enable", FALSE);


// PreferenceScreen: Feed
Expand Down

0 comments on commit dbf5b0a

Please sign in to comment.