revanced-integrations/app/src/main/java/app/revanced/integrations/youtube/patches/BypassURLRedirectsPatch.java
2024-04-24 14:37:02 +04:00

32 lines
937 B
Java

package app.revanced.integrations.youtube.patches;
import android.net.Uri;
import app.revanced.integrations.youtube.settings.Settings;
import app.revanced.integrations.shared.Logger;
@SuppressWarnings("unused")
public class BypassURLRedirectsPatch {
private static final String YOUTUBE_REDIRECT_PATH = "/redirect";
/**
* Convert the YouTube redirect URI string to the redirect query URI.
*
* @param uri The YouTube redirect URI string.
* @return The redirect query URI.
*/
public static Uri parseRedirectUri(String uri) {
final var parsed = Uri.parse(uri);
if (Settings.BYPASS_URL_REDIRECTS.get() && YOUTUBE_REDIRECT_PATH.equals(parsed.getPath())) {
var query = Uri.parse(Uri.decode(parsed.getQueryParameter("q")));
Logger.printDebug(() -> "Bypassing YouTube redirect URI: " + query);
return query;
}
return parsed;
}
}