Use renderer method to remove empty space

This commit is contained in:
Bryce Hackel 2024-05-01 13:34:19 -07:00
parent 915aac43d2
commit a752c59d60
No known key found for this signature in database
GPG key ID: F031960F08455E88
3 changed files with 25 additions and 11 deletions

View file

@ -1,4 +1,3 @@
#import <YouTubeHeader/YTIPivotBarRenderer.h>
#import <YouTubeHeader/YTIGuideResponse.h>
#import <YouTubeHeader/YTIGuideResponseSupportedRenderers.h>
#import <YouTubeHeader/YTIBrowseRequest.h>

View file

@ -34,6 +34,7 @@
#import <YouTubeHeader/GPBMessage.h>
#import <YouTubeHeader/YTIStringRun.h>
#import <YouTubeHeader/YTWatchViewController.h>
#import <YouTubeHeader/YTIPivotBarRenderer.h>
// Hide buttons under the video player by @PoomSmart
#import <YouTubeHeader/ASCollectionElement.h>

View file

@ -1225,17 +1225,31 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
// Hide Home Tab - @bhackel
%group gHideHomeTab
%hook YTPivotBarItemView
- (void)layoutSubviews {
%orig;
// Check if this is the home tab button
YTPivotBarItemViewAccessibilityControl *hitTarget = self.hitTarget;
if (!self.hidden && [hitTarget.accessibilityIdentifier isEqualToString:@"id.ui.pivotbar.FEwhat_to_watch.button"]) {
// Hide the home tab button
self.hidden = YES;
self.frame = CGRectZero;
[self removeFromSuperview];
%hook YTPivotBarView
- (void)setRenderer:(YTIPivotBarRenderer *)renderer {
// Iterate over each renderer item
NSLog(@"bhackel: setting renderer");
NSUInteger indexToRemove = -1;
NSMutableArray <YTIPivotBarSupportedRenderers *> *itemsArray = renderer.itemsArray;
NSLog(@"bhackel: starting loop");
for (NSUInteger i = 0; i < itemsArray.count; i++) {
NSLog(@"bhackel: iterating index %lu", (unsigned long)i);
YTIPivotBarSupportedRenderers *item = itemsArray[i];
// Check if this is the home tab button
NSLog(@"bhackel: checking identifier");
YTIPivotBarItemRenderer *pivotBarItemRenderer = item.pivotBarItemRenderer;
NSString *pivotIdentifier = pivotBarItemRenderer.pivotIdentifier;
if ([pivotIdentifier isEqualToString:@"FEwhat_to_watch"]) {
NSLog(@"bhackel: removing home tab button");
// Remove the home tab button
indexToRemove = i;
break;
}
}
if (indexToRemove != -1) {
[itemsArray removeObjectAtIndex:indexToRemove];
}
%orig;
}
%end
%end