Merge branch 'arichornlover:main' into main

This commit is contained in:
ryuku1208 2024-07-03 16:26:50 -04:00 committed by GitHub
commit ced0b5149e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 59 additions and 103 deletions

25
.gitmodules vendored
View file

@ -20,8 +20,7 @@
branch = main branch = main
[submodule "Tweaks/Return-YouTube-Dislikes"] [submodule "Tweaks/Return-YouTube-Dislikes"]
path = Tweaks/Return-YouTube-Dislikes path = Tweaks/Return-YouTube-Dislikes
url = https://github.com/arichornloverALT/Return-YouTube-Dislikes.git url = https://github.com/PoomSmart/Return-YouTube-Dislikes.git
branch = uYouEnhanced
[submodule "Tweaks/YouTubeHeader"] [submodule "Tweaks/YouTubeHeader"]
path = Tweaks/YouTubeHeader path = Tweaks/YouTubeHeader
url = https://github.com/arichornloverALT/YouTubeHeader.git url = https://github.com/arichornloverALT/YouTubeHeader.git
@ -34,6 +33,10 @@
path = Tweaks/YTABConfig path = Tweaks/YTABConfig
url = https://github.com/PoomSmart/YTABConfig.git url = https://github.com/PoomSmart/YTABConfig.git
branch = main branch = main
[submodule "Tweaks/FLEXing"]
path = Tweaks/FLEXing
url = https://github.com/PoomSmart/FLEXing
branch = rootless
[submodule "Tweaks/Alderis"] [submodule "Tweaks/Alderis"]
path = Tweaks/Alderis path = Tweaks/Alderis
url = https://github.com/hbang/Alderis.git url = https://github.com/hbang/Alderis.git
@ -47,9 +50,6 @@
path = Tweaks/iSponsorBlock path = Tweaks/iSponsorBlock
url = https://github.com/Galactic-Dev/iSponsorBlock.git url = https://github.com/Galactic-Dev/iSponsorBlock.git
branch = master branch = master
[submodule "Tweaks/IAmYouTube"]
path = Tweaks/IAmYouTube
url = https://github.com/PoomSmart/IAmYouTube.git
[submodule "Tweaks/YTClassicVideoQuality"] [submodule "Tweaks/YTClassicVideoQuality"]
path = Tweaks/YTClassicVideoQuality path = Tweaks/YTClassicVideoQuality
url = https://github.com/PoomSmart/YTClassicVideoQuality.git url = https://github.com/PoomSmart/YTClassicVideoQuality.git
@ -59,16 +59,19 @@
[submodule "Tweaks/YTSpeed"] [submodule "Tweaks/YTSpeed"]
path = Tweaks/YTSpeed path = Tweaks/YTSpeed
url = https://github.com/arichornloverALT/YTSpeed.git url = https://github.com/arichornloverALT/YTSpeed.git
[submodule "Tweaks/YouTube-X"]
path = Tweaks/YouTube-X
url = https://github.com/PoomSmart/YouTube-X/
[submodule "Tweaks/IAmYouTube"]
path = Tweaks/IAmYouTube
url = https://github.com/PoomSmart/IAmYouTube.git
[submodule "Tweaks/YTHoldForSpeed"]
path = Tweaks/YTHoldForSpeed
url = https://github.com/arichornloverALT/YTHoldForSpeed.git
[submodule "Tweaks/MrBeastify"] [submodule "Tweaks/MrBeastify"]
path = Tweaks/MrBeastify path = Tweaks/MrBeastify
url = https://github.com/arichornloverALT/MrBeastify.git url = https://github.com/arichornloverALT/MrBeastify.git
branch = main branch = main
[submodule "Tweaks/FLEXing"]
path = Tweaks/FLEXing
url = https://github.com/PoomSmart/FLEXing
[submodule "Tweaks/YTHoldForSpeed"]
path = Tweaks/YTHoldForSpeed
url = https://github.com/arichornloverALT/YTHoldForSpeed.git
[submodule "Tweaks/uYouLocalization"] [submodule "Tweaks/uYouLocalization"]
path = Tweaks/uYouLocalization path = Tweaks/uYouLocalization
url = https://github.com/dayanch96/uYouLocalization.git url = https://github.com/dayanch96/uYouLocalization.git

View file

@ -378,9 +378,10 @@ See [arichornlover - Wiki](https://github.com/arichornlover/uYouEnhanced/wiki/)
<details> <details>
<summary>Read more</summary><br> <summary>Read more</summary><br>
- Change from uYouEnhanced to YTLitePlus (optional)
Hello, this is here to showcase this tweak. I have been seeing the YTLitePlus tweak on Reddit for quite some time now and decided to join in. Before you download the tweak, you should take a look at the pros and cons below to learn more about the tweak. # Switch from uYouEnhanced to YTLitePlus (optional)
Hello, this is here to showcase this tweak. I have been seeing the posts about the YTLitePlus tweak on Reddit for quite some time now and decided to add it here. Before you download or check out the tweak, you should take a look at the pros and cons below to learn more about YTLitePlus.
https://github.com/YTLitePlus/YTLitePlus/releases https://github.com/YTLitePlus/YTLitePlus/releases

View file

@ -166,101 +166,52 @@ NSString *getAdString(NSString *description) {
return @"video_display_full_buttoned_layout"; return @"video_display_full_buttoned_layout";
return nil; return nil;
} }
#define cellDividerDataBytesLength 719
static __strong NSData *cellDividerData; static __strong NSData *cellDividerData;
static uint8_t cellDividerDataBytes[] = {
0xa, 0x8c, 0x5, 0xca, 0xeb, 0xea, 0x83, 0x5, 0x85, 0x5,
0x1a, 0x29, 0x92, 0xcb, 0xa1, 0x90, 0x5, 0x23, 0xa, 0x21,
0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2e, 0x65, 0x6d, 0x6c, 0x7c, 0x39, 0x33, 0x62,
0x65, 0x63, 0x30, 0x39, 0x37, 0x37, 0x63, 0x66, 0x64, 0x33,
0x61, 0x31, 0x37, 0x2a, 0xee, 0x3, 0xea, 0x84, 0xef, 0xab,
0xa, 0xe7, 0x3, 0x8, 0x4, 0x12, 0x0, 0x18, 0xff, 0xff,
0xff, 0x7, 0x32, 0xdb, 0x3, 0xfa, 0x3e, 0x4, 0x8, 0x5,
0x10, 0x1, 0x92, 0x3f, 0x4, 0xa, 0x2, 0x8, 0x1, 0xc2,
0xb8, 0x89, 0xbe, 0xa, 0x91, 0x1, 0xa, 0x8c, 0x1, 0x38,
0x1, 0x40, 0x1, 0x50, 0x1, 0x58, 0x1, 0x60, 0x5, 0x70,
0x1, 0x78, 0x1, 0x80, 0x1, 0x1, 0x90, 0x1, 0x1, 0x98,
0x1, 0x1, 0xa0, 0x1, 0x1, 0xa8, 0x1, 0x1, 0xc8, 0x1,
0x1, 0xe0, 0x1, 0x1, 0x88, 0x2, 0x1, 0x90, 0x2, 0x1,
0x98, 0x2, 0x1, 0xa0, 0x2, 0x1, 0xd0, 0x2, 0x1, 0x98,
0x3, 0x1, 0xa0, 0x3, 0x1, 0xb0, 0x3, 0x1, 0xd0, 0x3,
0x1, 0xd8, 0x3, 0x1, 0xe8, 0x3, 0x1, 0xf0, 0x3, 0x1,
0x98, 0x4, 0x1, 0xd0, 0x4, 0x1, 0xe8, 0x4, 0x1, 0xf0,
0x4, 0x1, 0xf8, 0x4, 0x1, 0xd8, 0x5, 0x1, 0xe5, 0x5,
0xcd, 0xcc, 0x4c, 0x3f, 0xed, 0x5, 0xcd, 0xcc, 0x4c, 0x3f,
0xf5, 0x5, 0x66, 0x66, 0xe6, 0x3f, 0xf8, 0x5, 0x1, 0x88,
0x6, 0x1, 0x98, 0x6, 0x1, 0xa0, 0x6, 0x1, 0xb8, 0x6,
0x1, 0xe0, 0x6, 0x1, 0xe8, 0x6, 0x1, 0xf0, 0x6, 0x1,
0x95, 0x7, 0x0, 0x0, 0x52, 0x44, 0xb8, 0x7, 0x1, 0x10,
0x5, 0xca, 0xb8, 0x89, 0xbe, 0xa, 0x6, 0xa, 0x4, 0x10,
0x1, 0x20, 0x1, 0xba, 0xa4, 0xf3, 0x83, 0xe, 0x18, 0xa,
0x16, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x7c, 0x66, 0x33, 0x33,
0x38, 0x61, 0x34, 0x35, 0x63, 0x38, 0x62, 0x66, 0x39, 0x30,
0x35, 0x66, 0x64, 0xb2, 0xb9, 0x9e, 0x8b, 0xe, 0x20, 0xa,
0x1e, 0x8, 0x1, 0x40, 0x1, 0x50, 0x1, 0x58, 0x1, 0x60,
0x1, 0x75, 0x0, 0x0, 0x80, 0x3f, 0x85, 0x1, 0x33, 0x33,
0x33, 0x3f, 0x8d, 0x1, 0x0, 0x0, 0x0, 0x3f, 0xb0, 0x1,
0x1, 0xa2, 0xaf, 0xe0, 0x8d, 0xe, 0x46, 0xa, 0x44, 0x28,
0x1, 0x38, 0x1, 0x45, 0xcd, 0xcc, 0xcc, 0x3e, 0x48, 0x1,
0x70, 0x1, 0x90, 0x1, 0x1, 0x98, 0x1, 0x1, 0xa0, 0x1,
0x1, 0xe8, 0x1, 0x1, 0x88, 0x2, 0x1, 0x98, 0x2, 0x1,
0xa0, 0x2, 0x88, 0x27, 0xb8, 0x2, 0x1, 0xc0, 0x2, 0x1,
0xc8, 0x2, 0x1, 0xd0, 0x2, 0x1, 0xe8, 0x2, 0x1, 0xf0,
0x2, 0x1, 0xe0, 0x3, 0x1, 0xed, 0x3, 0x0, 0x0, 0x0,
0x3f, 0xcd, 0x4, 0x0, 0x0, 0x80, 0x3f, 0xd2, 0xbf, 0x99,
0xa7, 0xe, 0xa, 0xa, 0x8, 0x8, 0x1, 0x10, 0x1, 0x30,
0x1, 0x78, 0x1, 0xca, 0xc3, 0xc8, 0xa7, 0xe, 0x60, 0x12,
0x5e, 0x10, 0x1, 0x20, 0x1, 0x98, 0x1, 0x1, 0xa0, 0x1,
0x1, 0xfd, 0x1, 0x0, 0x0, 0xc0, 0x41, 0x85, 0x2, 0x0,
0x0, 0xe0, 0x41, 0x8d, 0x2, 0x0, 0x0, 0xe0, 0x41, 0x95,
0x2, 0x0, 0x0, 0x10, 0x42, 0x9d, 0x2, 0x0, 0x0, 0x10,
0x42, 0xa5, 0x2, 0x0, 0x0, 0x30, 0x42, 0xad, 0x2, 0x0,
0x0, 0x30, 0x42, 0xbd, 0x2, 0x0, 0x0, 0x40, 0x41, 0xc5,
0x2, 0x0, 0x0, 0x80, 0x41, 0xcd, 0x2, 0x0, 0x0, 0x80,
0x41, 0xd5, 0x2, 0x0, 0x0, 0xc0, 0x41, 0xdd, 0x2, 0x0,
0x0, 0xc0, 0x41, 0xe5, 0x2, 0x0, 0x0, 0x0, 0x42, 0xed,
0x2, 0x0, 0x0, 0x0, 0x42, 0x92, 0x94, 0xf6, 0xb2, 0xf,
0x1d, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
0x69, 0x65, 0x73, 0x7c, 0x61, 0x37, 0x39, 0x38, 0x35, 0x39,
0x35, 0x34, 0x37, 0x39, 0x64, 0x62, 0x65, 0x36, 0x64, 0x63,
0x32, 0x67, 0x9a, 0xe8, 0xf9, 0xa9, 0x6, 0x8, 0x8, 0xcd,
0xf0, 0xbd, 0xa5, 0x1, 0x10, 0x7, 0xaa, 0xf1, 0xdf, 0xc1,
0xb, 0x24, 0xa, 0x1c, 0xa, 0x18, 0xa, 0x16, 0x74, 0x68,
0x65, 0x6d, 0x65, 0x7c, 0x66, 0x33, 0x33, 0x38, 0x61, 0x34,
0x35, 0x63, 0x38, 0x62, 0x66, 0x39, 0x30, 0x35, 0x66, 0x64,
0x10, 0x2, 0x10, 0xcd, 0xf0, 0xbd, 0xa5, 0x1, 0xb2, 0xf1,
0xdf, 0xc1, 0xb, 0x29, 0xa, 0x21, 0xa, 0x1d, 0x63, 0x61,
0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73,
0x7c, 0x61, 0x37, 0x39, 0x38, 0x35, 0x39, 0x35, 0x34, 0x37,
0x39, 0x64, 0x62, 0x65, 0x36, 0x64, 0x63, 0x10, 0xa, 0x10,
0xcd, 0xf0, 0xbd, 0xa5, 0x1, 0x12, 0x3e, 0xc2, 0x86, 0xa5,
0xbb, 0x5, 0x38, 0xa, 0x21, 0x63, 0x65, 0x6c, 0x6c, 0x5f,
0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x65, 0x6d,
0x6c, 0x7c, 0x39, 0x33, 0x62, 0x65, 0x63, 0x30, 0x39, 0x37,
0x37, 0x63, 0x66, 0x64, 0x33, 0x61, 0x31, 0x37, 0x32, 0x13,
0x31, 0x37, 0x31, 0x39, 0x31, 0x32, 0x32, 0x35, 0x34, 0x39,
0x39, 0x39, 0x36, 0x30, 0x31, 0x37, 0x31, 0x33, 0x38,
};
%hook YTIElementRenderer %hook YTIElementRenderer
- (NSData *)elementData { - (NSData *)elementData {
if ([self respondsToSelector:@selector(hasCompatibilityOptions)] && self.hasCompatibilityOptions && self.compatibilityOptions.hasAdLoggingData) { NSString *description = [self description];
// HBLogInfo(@"YTX adLogging %@", cellDividerData); if ([description containsString:@"cell_divider"]) {
if (!cellDividerData) cellDividerData = %orig;
return cellDividerData;
}
if (!cellDividerData) return %orig;
if ([self respondsToSelector:@selector(hasCompatibilityOptions)] && self.hasCompatibilityOptions && self.compatibilityOptions.hasAdLoggingData) {
// HBLogInfo(@"YTX adLogging 1 %@", cellDividerData);
return cellDividerData; return cellDividerData;
} }
NSString *description = [self description];
NSString *adString = getAdString(description); NSString *adString = getAdString(description);
if (adString) { if (adString) {
// HBLogInfo(@"YTX getAdString %@ %@", str, cellDividerData); // HBLogInfo(@"YTX getAdString 1 %@ %@", adString, cellDividerData);
return cellDividerData; return cellDividerData;
} }
return %orig; return %orig;
} }
%end %end
%hook _ASDisplayView %hook YTInnerTubeCollectionViewController
- (void)didMoveToWindow { - (void)loadWithModel:(YTISectionListRenderer *)model {
%orig(); if ([model isKindOfClass:%c(YTISectionListRenderer)]) {
if ([self.accessibilityIdentifier isEqualToString:@"id.products_in_video_with_preview_overlay_badge.view"]) self.hidden = YES; NSMutableArray <YTISectionListSupportedRenderers *> *contentsArray = model.contentsArray;
NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) {
if (![renderers isKindOfClass:%c(YTISectionListSupportedRenderers)])
return NO;
YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer;
YTIItemSectionSupportedRenderers *firstObject = [sectionRenderer.contentsArray firstObject];
YTIElementRenderer *elementRenderer = firstObject.elementRenderer;
if ([elementRenderer respondsToSelector:@selector(hasCompatibilityOptions)] && elementRenderer.hasCompatibilityOptions && elementRenderer.compatibilityOptions.hasAdLoggingData) {
// HBLogInfo(@"YTX adLogging 2 %@", elementRenderer);
return YES;
}
NSString *description = [elementRenderer description];
NSString *adString = getAdString(description);
if (adString) {
// HBLogInfo(@"YTX getAdString 2 %@ %@", adString, elementRenderer);
return YES;
}
return NO;
}];
[contentsArray removeObjectsAtIndexes:removeIndexes];
}
%orig;
} }
%end %end
%end %end
@ -350,7 +301,7 @@ static uint8_t cellDividerDataBytes[] = {
- (BOOL)enableModularPlayerBarController { return NO; } // fixes some of the iSponorBlock problems - (BOOL)enableModularPlayerBarController { return NO; } // fixes some of the iSponorBlock problems
- (BOOL)mainAppCoreClientEnableCairoSettings { return IS_ENABLED(@"newSettingsUI_enabled"); } // New grouped settings UI - (BOOL)mainAppCoreClientEnableCairoSettings { return IS_ENABLED(@"newSettingsUI_enabled"); } // New grouped settings UI
- (BOOL)enableIosFloatingMiniplayer { return IS_ENABLED(@"floatingMiniplayer_enabled"); } // Floating Miniplayer - (BOOL)enableIosFloatingMiniplayer { return IS_ENABLED(@"floatingMiniplayer_enabled"); } // Floating Miniplayer
- (BOOL)enableIosFloatingMiniplayerSwipeUpToExpand { return IS_ENABLED(@"floatingMiniplayer_enabled"); } // Floating Miniplayer - (BOOL)enableIosFloatingMiniplayerSwipeUpToExpand { return IS_ENABLED(@"floatingMiniplayer_enabled"); } // Floating Miniplayer - Fix Swipe Up Animation
- (BOOL)enableIosFloatingMiniplayerRepositioning { return IS_ENABLED(@"floatingMiniplayer2_enabled"); } // Floating Miniplayer (Repositioning Support, Removes Swiping Up Gesture) - (BOOL)enableIosFloatingMiniplayerRepositioning { return IS_ENABLED(@"floatingMiniplayer2_enabled"); } // Floating Miniplayer (Repositioning Support, Removes Swiping Up Gesture)
%end %end
@ -627,7 +578,7 @@ static uint8_t cellDividerDataBytes[] = {
} }
%end %end
// Classic Video Player (Restores the v16.xx.x Video Player Functionality) - @arichornlover // Classic Video Player - 17.33.2+ (Restores the functionality from the YT v16.xx.x Video Player) - @arichornlover
// To-do: disabling "Precise Video Scrubbing" https://9to5google.com/2022/06/29/youtube-precise-video-scrubbing/ // To-do: disabling "Precise Video Scrubbing" https://9to5google.com/2022/06/29/youtube-precise-video-scrubbing/
%group gClassicVideoPlayer %group gClassicVideoPlayer
%hook YTColdConfig %hook YTColdConfig
@ -1094,9 +1045,12 @@ static int contrastMode() {
%end %end
// NEW VERSION // NEW VERSION
// Hide Fullscreen Button - @arichornlover // Hide Fullscreen Button - @arichornlover - UNTESTED!
// %hook YTInlinePlayerBarContainerView // %hook YTInlinePlayerBarContainerView
// ..Work-in-progres.. // - (BOOL)fullscreenButtonDisabled { return YES; }
// - (BOOL)canShowFullscreenButton { return NO; }
// - (BOOL)canShowFullscreenButtonExperimental { return NO; }
// - (void)setFullscreenButtonDisabled:(BOOL) // this line should remain disabled for now.
// %end // %end
// Hide HUD Messages // Hide HUD Messages
@ -1579,7 +1533,7 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
// Remove “Play next in queue” from the menu (@PoomSmart) - qnblackcat/uYouPlus#1138 // Remove “Play next in queue” from the menu (@PoomSmart) - qnblackcat/uYouPlus#1138
%hook YTMenuItemVisibilityHandler %hook YTMenuItemVisibilityHandler
- (BOOL)shouldShowServiceItemRenderer:(YTIMenuConditionalServiceItemRenderer *)renderer { - (BOOL)shouldShowServiceItemRenderer:(YTIMenuConditionalServiceItemRenderer *)renderer {
return IS_ENABLED(@"hidePlayNextInQueue_enabled") && renderer.icon.iconType == 251 ? NO : %orig; return IS_ENABLED(@"hidePlayNextInQueue_enabled") && renderer.icon.iconType == 251 && renderer.secondaryIcon.iconType == 741 ? NO : %orig;
} }
%end %end
@ -1670,8 +1624,6 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
// Load uYou first so its functions are available for hooks. // Load uYou first so its functions are available for hooks.
// dlopen([[NSString stringWithFormat:@"%@/Frameworks/uYou.dylib", [[NSBundle mainBundle] bundlePath]] UTF8String], RTLD_LAZY); // dlopen([[NSString stringWithFormat:@"%@/Frameworks/uYou.dylib", [[NSBundle mainBundle] bundlePath]] UTF8String], RTLD_LAZY);
cellDividerData = [NSData dataWithBytes:cellDividerDataBytes length:cellDividerDataBytesLength];
%init; %init;
if (IS_ENABLED(@"hideYouTubeLogo_enabled")) { if (IS_ENABLED(@"hideYouTubeLogo_enabled")) {
%init(gHideYouTubeLogo); %init(gHideYouTubeLogo);