mirror of
https://github.com/arichornlover/uYouEnhanced.git
synced 2026-03-11 21:26:04 +00:00
uYouPlusExtra New Branch
As usual, I always gotta refresh the main branch to always update uYouPlusExtra Properly.
This commit is contained in:
parent
90f4673f59
commit
cc8f4ce4ed
2 changed files with 250 additions and 9 deletions
80
Settings.xm
80
Settings.xm
|
|
@ -25,6 +25,13 @@ extern BOOL hidePreviousAndNextButton();
|
|||
extern BOOL hidePaidPromotionCard();
|
||||
extern BOOL fixGoogleSignIn();
|
||||
extern BOOL replacePreviousAndNextButton();
|
||||
extern BOOL ytDisableHighContrastUI();
|
||||
extern BOOL BlueUI();
|
||||
extern BOOL RedUI();
|
||||
extern BOOL OrangeUI();
|
||||
extern BOOL PinkUI();
|
||||
extern BOOL PurpleUI();
|
||||
extern BOOL GreenUI();
|
||||
|
||||
// Settings
|
||||
%hook YTAppSettingsPresentationData
|
||||
|
|
@ -53,6 +60,69 @@ extern BOOL replacePreviousAndNextButton();
|
|||
exit(0);
|
||||
}];
|
||||
|
||||
YTSettingsSectionItem *GreenUI = [[%c(YTSettingsSectionItem) alloc] initWithTitle:@"Green UI" titleDescription:@"Green UI (have every other ui colors off) App restart is required."];
|
||||
GreenUI.hasSwitch = YES;
|
||||
GreenUI.switchVisible = YES;
|
||||
GreenUI.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"GreenUI_enabled"];
|
||||
GreenUI.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"GreenUI_enabled"];
|
||||
return YES;
|
||||
};
|
||||
|
||||
YTSettingsSectionItem *PurpleUI = [[%c(YTSettingsSectionItem) alloc] initWithTitle:@"Purple UI" titleDescription:@"Purple UI (have every other ui colors off) App restart is required."];
|
||||
PurpleUI.hasSwitch = YES;
|
||||
PurpleUI.switchVisible = YES;
|
||||
PurpleUI.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"PurpleUI_enabled"];
|
||||
PurpleUI.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"PurpleUI_enabled"];
|
||||
return YES;
|
||||
};
|
||||
|
||||
YTSettingsSectionItem *PinkUI = [[%c(YTSettingsSectionItem) alloc] initWithTitle:@"Pink UI" titleDescription:@"Pink UI (have every other ui colors off) App restart is required."];
|
||||
PinkUI.hasSwitch = YES;
|
||||
PinkUI.switchVisible = YES;
|
||||
PinkUI.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"PinkUI_enabled"];
|
||||
PinkUI.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"PinkUI_enabled"];
|
||||
return YES;
|
||||
};
|
||||
|
||||
YTSettingsSectionItem *OrangeUI = [[%c(YTSettingsSectionItem) alloc] initWithTitle:@"Orange UI" titleDescription:@"Orange UI (have every other ui colors off) App restart is required."];
|
||||
OrangeUI.hasSwitch = YES;
|
||||
OrangeUI.switchVisible = YES;
|
||||
OrangeUI.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"OrangeUI_enabled"];
|
||||
OrangeUI.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"OrangeUI_enabled"];
|
||||
return YES;
|
||||
};
|
||||
|
||||
YTSettingsSectionItem *RedUI = [[%c(YTSettingsSectionItem) alloc] initWithTitle:@"Red UI" titleDescription:@"Red UI (have every other ui colors off) App restart is required."];
|
||||
RedUI.hasSwitch = YES;
|
||||
RedUI.switchVisible = YES;
|
||||
RedUI.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"RedUI_enabled"];
|
||||
RedUI.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"RedUI_enabled"];
|
||||
return YES;
|
||||
};
|
||||
|
||||
YTSettingsSectionItem *BlueUI = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"Blue UI") titleDescription:LOC(@"Blue UI (have every other ui colors off) App restart is required.")];
|
||||
BlueUI.hasSwitch = YES;
|
||||
BlueUI.switchVisible = YES;
|
||||
BlueUI.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"BlueUI_enabled"];
|
||||
BlueUI.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"BlueUI_enabled"];
|
||||
return YES;
|
||||
};
|
||||
|
||||
YTSettingsSectionItem *ytDisableHighContrastUI = [[%c(YTSettingsSectionItem) alloc] initWithTitle:@"Revert The High Contrast UI (YTDisableHighContrastUI)" titleDescription:@"App restart is required."];
|
||||
ytDisableHighContrastUI.hasSwitch = YES;
|
||||
ytDisableHighContrastUI.switchVisible = YES;
|
||||
ytDisableHighContrastUI.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"ytDisableHighContrastUI_enabled"];
|
||||
ytDisableHighContrastUI.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"ytDisableHighContrastUI_enabled"];
|
||||
return YES;
|
||||
};
|
||||
|
||||
YTSettingsSectionItem *replacePreviousAndNextButton = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"REPLACE_PREVIOUS_NEXT_BUTTON") titleDescription:LOC(@"REPLACE_PREVIOUS_NEXT_BUTTON_DESC")];
|
||||
replacePreviousAndNextButton.hasSwitch = YES;
|
||||
replacePreviousAndNextButton.switchVisible = YES;
|
||||
|
|
@ -61,8 +131,8 @@ extern BOOL replacePreviousAndNextButton();
|
|||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"replacePreviousAndNextButton_enabled"];
|
||||
return YES;
|
||||
};
|
||||
|
||||
YTSettingsSectionItem *fixGoogleSignIn = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"FIX_GOOGLE_SIGNIN") titleDescription:LOC(@"FIX_GOOGLE_SIGNIN_DESC")];
|
||||
|
||||
YTSettingsSectionItem *fixGoogleSigin = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"FIX_GOOGLE_SIGNIN") titleDescription:LOC(@"FIX_GOOGLE_SIGNIN_DESC")];
|
||||
fixGoogleSignIn.hasSwitch = YES;
|
||||
fixGoogleSignIn.switchVisible = YES;
|
||||
fixGoogleSignIn.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"fixGoogleSignIn_enabled"];
|
||||
|
|
@ -70,7 +140,7 @@ extern BOOL replacePreviousAndNextButton();
|
|||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"fixGoogleSignIn_enabled"];
|
||||
return YES;
|
||||
};
|
||||
|
||||
|
||||
YTSettingsSectionItem *hidePaidPromotionCard = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"HIDE_PAID_PROMOTION_CARDS") titleDescription:LOC(@"HIDE_PAID_PROMOTION_CARDS_DESC")];
|
||||
hidePaidPromotionCard.hasSwitch = YES;
|
||||
hidePaidPromotionCard.switchVisible = YES;
|
||||
|
|
@ -188,7 +258,7 @@ extern BOOL replacePreviousAndNextButton();
|
|||
return YES;
|
||||
};
|
||||
|
||||
NSMutableArray <YTSettingsSectionItem *> *sectionItems = [NSMutableArray arrayWithArray:@[killApp, autoFull, castConfirm, ytMiniPlayer, fixGoogleSignIn, hideAutoplaySwitch, hideCC, hideHUD, hidePaidPromotionCard, hidePreviousAndNextButton, hideHoverCard, bigYTMiniPlayer, oledDarkMode, oledKeyBoard, replacePreviousAndNextButton, reExplore]];
|
||||
NSMutableArray <YTSettingsSectionItem *> *sectionItems = [NSMutableArray arrayWithArray:@[killApp, autoFull, castConfirm, ytMiniPlayer, fixGoogleSignIn, hideAutoplaySwitch, hideCC, hideHUD, hidePaidPromotionCard, hidePreviousAndNextButton, hideHoverCard, bigYTMiniPlayer, oledDarkMode, oledKeyBoard, replacePreviousAndNextButton, reExplore, ytDisableHighContrastUI, BlueUI, RedUI, OrangeUI, PinkUI, PurpleUI, GreenUI]];
|
||||
[delegate setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouPlus" titleDescription:nil headerHidden:NO];
|
||||
}
|
||||
|
||||
|
|
@ -199,4 +269,4 @@ extern BOOL replacePreviousAndNextButton();
|
|||
}
|
||||
%orig;
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
|
|
|||
179
uYouPlus.xm
179
uYouPlus.xm
|
|
@ -33,8 +33,8 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
|||
// Keychain patching
|
||||
static NSString *accessGroupID() {
|
||||
NSDictionary *query = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
(__bridge NSString *)kSecClassGenericPassword, (__bridge NSString *)kSecClass,
|
||||
@"bundleSeedID", kSecAttrAccount,
|
||||
(__bridge NSString *)kSecClassGenericPassword, (__bridge NSString *)kSecClass,
|
||||
@"bundleSeedID", kSecAttrAccount,
|
||||
@"", kSecAttrService,
|
||||
(id)kCFBooleanTrue, kSecReturnAttributes,
|
||||
nil];
|
||||
|
|
@ -49,7 +49,7 @@ static NSString *accessGroupID() {
|
|||
return accessGroup;
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
BOOL hideHUD() {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"hideHUD_enabled"];
|
||||
}
|
||||
|
|
@ -98,6 +98,27 @@ BOOL fixGoogleSignIn() {
|
|||
BOOL replacePreviousAndNextButton() {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"replacePreviousAndNextButton_enabled"];
|
||||
}
|
||||
BOOL ytDisableHighContrastUI () {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"ytDisableHighContrastUI_enabled"];
|
||||
}
|
||||
BOOL BlueUI () {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"BlueUI_enabled"];
|
||||
}
|
||||
BOOL RedUI () {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"RedUI_enabled"];
|
||||
}
|
||||
BOOL OrangeUI () {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"OrangeUI_enabled"];
|
||||
}
|
||||
BOOL PinkUI () {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"PinkUI_enabled"];
|
||||
}
|
||||
BOOL PurpleUI () {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"PurpleUI_enabled"];
|
||||
}
|
||||
BOOL GreenUI () {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"GreenUI_enabled"];
|
||||
}
|
||||
|
||||
# pragma mark - Tweaks
|
||||
// Enable Reorder videos from playlist while on the Watch page - @PoomSmart
|
||||
|
|
@ -154,6 +175,11 @@ BOOL replacePreviousAndNextButton() {
|
|||
}
|
||||
%end
|
||||
|
||||
// Hide Update Dialog: https://github.com/PoomSmart/YouTubeHeader/blob/main/YTGlobalConfig.h
|
||||
%hook YTGlobalConfig
|
||||
- (BOOL)shouldBlockUpgradeDialog { return YES;}
|
||||
%end
|
||||
|
||||
// YTAutoFullScreen: https://github.com/PoomSmart/YTAutoFullScreen/
|
||||
%hook YTPlayerViewController
|
||||
- (void)loadWithPlayerTransition:(id)arg1 playbackConfig:(id)arg2 {
|
||||
|
|
@ -301,6 +327,11 @@ BOOL replacePreviousAndNextButton() {
|
|||
- (void)setUserInteractionEnabled:(BOOL)enabled { %orig(YES); }
|
||||
%end
|
||||
|
||||
// Hide YouTube Heatwave in Video Player (YouTube 17.19.2 or newer) - @level3tjg - https://www.reddit.com/r/jailbreak/comments/v29yvk/
|
||||
%hook YTInlinePlayerBarContainerView
|
||||
- (BOOL)canShowHeatwave { return NO;}
|
||||
%end
|
||||
|
||||
// Workaround for issue #54
|
||||
%hook YTMainAppVideoPlayerOverlayViewController
|
||||
- (void)updateRelatedVideos {
|
||||
|
|
@ -510,7 +541,7 @@ BOOL replacePreviousAndNextButton() {
|
|||
// Fix "You can't sign in to this app because Google can't confirm that it's safe" warning when signing in. by julioverne & PoomSmart
|
||||
// https://gist.github.com/PoomSmart/ef5b172fd4c5371764e027bea2613f93
|
||||
// https://github.com/qnblackcat/uYouPlus/pull/398
|
||||
/*
|
||||
/*
|
||||
%group gDevice_challenge_request_hack
|
||||
%hook SSOService
|
||||
+ (id)fetcherWithRequest:(NSMutableURLRequest *)request configuration:(id)configuration {
|
||||
|
|
@ -876,6 +907,125 @@ static void replaceTab(YTIGuideResponse *response) {
|
|||
%end
|
||||
%end
|
||||
|
||||
%group gYTDisableHighContrastUI
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)textPrimary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.38 green: 0.38 blue: 0.38 alpha: 1.00];
|
||||
}
|
||||
- (UIColor *)textSecondary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.38 green: 0.38 blue: 0.38 alpha: 1.00];
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
%group gBlueUI
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)textPrimary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.26 green: 0.43 blue: 0.48 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.36 green: 0.56 blue: 0.62 alpha: 1.00];
|
||||
}
|
||||
- (UIColor *)textSecondary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.26 green: 0.43 blue: 0.48 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.36 green: 0.56 blue: 0.62 alpha: 1.00];
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
%group gRedUI
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)textPrimary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 1.00 green: 0.31 blue: 0.27 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.84 green: 0.25 blue: 0.23 alpha: 1.00];
|
||||
}
|
||||
- (UIColor *)textSecondary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 1.00 green: 0.31 blue: 0.27 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.84 green: 0.25 blue: 0.23 alpha: 1.00];
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
%group gOrangeUI
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)textPrimary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.73 green: 0.45 blue: 0.05 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.80 green: 0.49 blue: 0.05 alpha: 1.00];
|
||||
}
|
||||
- (UIColor *)textSecondary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.73 green: 0.45 blue: 0.05 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.80 green: 0.49 blue: 0.05 alpha: 1.00];
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
%group gPinkUI
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)textPrimary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.74 green: 0.02 blue: 0.46 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.81 green: 0.56 blue: 0.71 alpha: 1.00];
|
||||
}
|
||||
- (UIColor *)textSecondary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.74 green: 0.02 blue: 0.46 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.81 green: 0.56 blue: 0.71 alpha: 1.00];
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
%group gPurpleUI
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)textPrimary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.62 green: 0.01 blue: 0.73 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.44 green: 0.00 blue: 0.52 alpha: 1.00];
|
||||
}
|
||||
- (UIColor *)textSecondary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.62 green: 0.01 blue: 0.73 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.44 green: 0.00 blue: 0.52 alpha: 1.00];
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
%group gGreenUI
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)textPrimary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.01 green: 0.66 blue: 0.18 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.00 green: 0.50 blue: 0.13 alpha: 1.00];
|
||||
}
|
||||
- (UIColor *)textSecondary {
|
||||
if (self.pageStyle == 1) {
|
||||
return [UIColor colorWithRed: 0.01 green: 0.66 blue: 0.18 alpha: 1.00];
|
||||
}
|
||||
return [UIColor colorWithRed: 0.00 green: 0.50 blue: 0.13 alpha: 1.00];
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
// iOS 16 uYou crash fix - @level3tjg: https://github.com/qnblackcat/uYouPlus/pull/224
|
||||
%group iOS16
|
||||
%hook OBPrivacyLinkButton
|
||||
|
|
@ -925,4 +1075,25 @@ static void replaceTab(YTIGuideResponse *response) {
|
|||
if (!fixGoogleSignIn()) {
|
||||
%init(gFixGoogleSignIn);
|
||||
}
|
||||
if (ytDisableHighContrastUI()) {
|
||||
%init(gYTDisableHighContrastUI);
|
||||
}
|
||||
if (BlueUI()) {
|
||||
%init(gBlueUI);
|
||||
}
|
||||
if (RedUI()) {
|
||||
%init(gRedUI);
|
||||
}
|
||||
if (OrangeUI()) {
|
||||
%init(gOrangeUI);
|
||||
}
|
||||
if (PinkUI()) {
|
||||
%init(gPinkUI);
|
||||
}
|
||||
if (PurpleUI()) {
|
||||
%init(gPurpleUI);
|
||||
}
|
||||
if (GreenUI()) {
|
||||
%init(gGreenUI);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue