fix(YouTube): Update fingerprints and logic for YouTube 21.34, add custom settings
Release / Release (push) Failing after 16m39s

Reworks fingerprint matching across ads, GMS core, litho filter, player
controls, context hook, background playback, end screen cards, miniplayer,
and Shorts autoplay patches to keep working on YouTube 21.34, where several
underlying methods and resources changed. Also fixes video stream spoofing
to build the request URI via Uri.Builder instead of the removed toString()
path, and adds a new Custom settings screen with AMOLED/pure black player,
ambient mode, Shorts hiding, playback speed/quality defaults, debug video
info, custom app name, startup tab, and URL cleaning options.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NXRsEcWGqDhsCbfEdrfCdE
This commit is contained in:
whitehai11
2026-09-03 19:50:50 +02:00
co-authored by Claude Sonnet 5
parent 7427432759
commit 97b4fc5b5a
19 changed files with 547 additions and 221 deletions
@@ -236,6 +236,17 @@ public final class AdsFilter extends Filter {
return Settings.HIDE_GENERAL_ADS.get();
}
/**
* Injection point.
* 21.34+ the player overlay timely shelf handler no longer gets a dedicated method,
* so instead the result of the overlay type `String.equals` comparison is passed in.
*
* @param original Whether the overlay is the timely shelf (already being shown when not hiding ads).
*/
public static boolean allowAds(boolean original) {
return Settings.HIDE_GENERAL_ADS.get() ? false : original;
}
/**
* Injection point.
*/