Merge branch 'arichornlover:main' into main
This commit is contained in:
commit
ced0b5149e
3 changed files with 59 additions and 103 deletions
25
.gitmodules
vendored
25
.gitmodules
vendored
|
|
@ -20,8 +20,7 @@
|
|||
branch = main
|
||||
[submodule "Tweaks/Return-YouTube-Dislikes"]
|
||||
path = Tweaks/Return-YouTube-Dislikes
|
||||
url = https://github.com/arichornloverALT/Return-YouTube-Dislikes.git
|
||||
branch = uYouEnhanced
|
||||
url = https://github.com/PoomSmart/Return-YouTube-Dislikes.git
|
||||
[submodule "Tweaks/YouTubeHeader"]
|
||||
path = Tweaks/YouTubeHeader
|
||||
url = https://github.com/arichornloverALT/YouTubeHeader.git
|
||||
|
|
@ -34,6 +33,10 @@
|
|||
path = Tweaks/YTABConfig
|
||||
url = https://github.com/PoomSmart/YTABConfig.git
|
||||
branch = main
|
||||
[submodule "Tweaks/FLEXing"]
|
||||
path = Tweaks/FLEXing
|
||||
url = https://github.com/PoomSmart/FLEXing
|
||||
branch = rootless
|
||||
[submodule "Tweaks/Alderis"]
|
||||
path = Tweaks/Alderis
|
||||
url = https://github.com/hbang/Alderis.git
|
||||
|
|
@ -47,9 +50,6 @@
|
|||
path = Tweaks/iSponsorBlock
|
||||
url = https://github.com/Galactic-Dev/iSponsorBlock.git
|
||||
branch = master
|
||||
[submodule "Tweaks/IAmYouTube"]
|
||||
path = Tweaks/IAmYouTube
|
||||
url = https://github.com/PoomSmart/IAmYouTube.git
|
||||
[submodule "Tweaks/YTClassicVideoQuality"]
|
||||
path = Tweaks/YTClassicVideoQuality
|
||||
url = https://github.com/PoomSmart/YTClassicVideoQuality.git
|
||||
|
|
@ -59,16 +59,19 @@
|
|||
[submodule "Tweaks/YTSpeed"]
|
||||
path = Tweaks/YTSpeed
|
||||
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"]
|
||||
path = Tweaks/MrBeastify
|
||||
url = https://github.com/arichornloverALT/MrBeastify.git
|
||||
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"]
|
||||
path = Tweaks/uYouLocalization
|
||||
url = https://github.com/dayanch96/uYouLocalization.git
|
||||
|
|
|
|||
|
|
@ -378,9 +378,10 @@ See [arichornlover - Wiki](https://github.com/arichornlover/uYouEnhanced/wiki/)
|
|||
|
||||
<details>
|
||||
<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
|
||||
|
||||
|
|
|
|||
|
|
@ -166,101 +166,52 @@ NSString *getAdString(NSString *description) {
|
|||
return @"video_display_full_buttoned_layout";
|
||||
return nil;
|
||||
}
|
||||
#define cellDividerDataBytesLength 719
|
||||
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
|
||||
- (NSData *)elementData {
|
||||
if ([self respondsToSelector:@selector(hasCompatibilityOptions)] && self.hasCompatibilityOptions && self.compatibilityOptions.hasAdLoggingData) {
|
||||
// HBLogInfo(@"YTX adLogging %@", cellDividerData);
|
||||
NSString *description = [self description];
|
||||
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;
|
||||
}
|
||||
NSString *description = [self description];
|
||||
NSString *adString = getAdString(description);
|
||||
if (adString) {
|
||||
// HBLogInfo(@"YTX getAdString %@ %@", str, cellDividerData);
|
||||
// HBLogInfo(@"YTX getAdString 1 %@ %@", adString, cellDividerData);
|
||||
return cellDividerData;
|
||||
}
|
||||
return %orig;
|
||||
}
|
||||
%end
|
||||
%hook _ASDisplayView
|
||||
- (void)didMoveToWindow {
|
||||
%orig();
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.products_in_video_with_preview_overlay_badge.view"]) self.hidden = YES;
|
||||
%hook YTInnerTubeCollectionViewController
|
||||
- (void)loadWithModel:(YTISectionListRenderer *)model {
|
||||
if ([model isKindOfClass:%c(YTISectionListRenderer)]) {
|
||||
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
|
||||
|
|
@ -350,7 +301,7 @@ static uint8_t cellDividerDataBytes[] = {
|
|||
- (BOOL)enableModularPlayerBarController { return NO; } // fixes some of the iSponorBlock problems
|
||||
- (BOOL)mainAppCoreClientEnableCairoSettings { return IS_ENABLED(@"newSettingsUI_enabled"); } // New grouped settings UI
|
||||
- (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)
|
||||
%end
|
||||
|
||||
|
|
@ -627,7 +578,7 @@ static uint8_t cellDividerDataBytes[] = {
|
|||
}
|
||||
%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/
|
||||
%group gClassicVideoPlayer
|
||||
%hook YTColdConfig
|
||||
|
|
@ -1094,9 +1045,12 @@ static int contrastMode() {
|
|||
%end
|
||||
|
||||
// NEW VERSION
|
||||
// Hide Fullscreen Button - @arichornlover
|
||||
// Hide Fullscreen Button - @arichornlover - UNTESTED!
|
||||
// %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
|
||||
|
||||
// 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
|
||||
%hook YTMenuItemVisibilityHandler
|
||||
- (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
|
||||
|
||||
|
|
@ -1670,8 +1624,6 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
|
|||
// Load uYou first so its functions are available for hooks.
|
||||
// dlopen([[NSString stringWithFormat:@"%@/Frameworks/uYou.dylib", [[NSBundle mainBundle] bundlePath]] UTF8String], RTLD_LAZY);
|
||||
|
||||
cellDividerData = [NSData dataWithBytes:cellDividerDataBytes length:cellDividerDataBytesLength];
|
||||
|
||||
%init;
|
||||
if (IS_ENABLED(@"hideYouTubeLogo_enabled")) {
|
||||
%init(gHideYouTubeLogo);
|
||||
|
|
|
|||
Loading…
Reference in a new issue