mirror of
https://github.com/SoPat712/YTLitePlus.git
synced 2025-08-22 02:58:45 -04:00
Removed duplicated Code
YTLite has almost all of this so I did what was best for y’all - arichorn (contributor)
This commit is contained in:
384
YTLitePlus.xm
384
YTLitePlus.xm
@@ -79,21 +79,17 @@ static BOOL IsEnabled(NSString *key) {
|
|||||||
|
|
||||||
- (void)layoutSubviews {
|
- (void)layoutSubviews {
|
||||||
%orig;
|
%orig;
|
||||||
if (IsEnabled(@"hideNotificationButton_enabled")) {
|
|
||||||
self.notificationButton.hidden = YES;
|
|
||||||
}
|
|
||||||
if (IsEnabled(@"hideSponsorBlockButton_enabled")) {
|
if (IsEnabled(@"hideSponsorBlockButton_enabled")) {
|
||||||
self.sponsorBlockButton.hidden = YES;
|
self.sponsorBlockButton.hidden = YES;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Hide Cast Button since Cercube's option is not working
|
// Hide Video Player Cast Button
|
||||||
%group gHideCastButton
|
%group gHideCastButton
|
||||||
%hook MDXPlaybackRouteButtonController
|
%hook MDXPlaybackRouteButtonController
|
||||||
- (BOOL)isPersistentCastIconEnabled { return NO; }
|
- (BOOL)isPersistentCastIconEnabled { return NO; }
|
||||||
- (void)updateRouteButton:(id)arg1 {} // hide Cast button in video controls overlay
|
- (void)updateRouteButton:(id)arg1 {} // hide Cast button in video controls overlay
|
||||||
- (void)updateAllRouteButtons {} // hide Cast button in Nav bar
|
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%hook YTSettings
|
%hook YTSettings
|
||||||
@@ -101,22 +97,21 @@ static BOOL IsEnabled(NSString *key) {
|
|||||||
%end
|
%end
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Hide CC / Hide Autoplay switch / Enable Share Button / Enable Save to Playlist Button
|
// Enable Share Button / Enable Save to Playlist Button
|
||||||
%hook YTMainAppControlsOverlayView
|
%hook YTMainAppControlsOverlayView
|
||||||
- (void)setClosedCaptionsOrSubtitlesButtonAvailable:(BOOL)arg1 { // hide CC button
|
- (void)setShareButtonAvailable:(BOOL)arg1 { // enable Share button
|
||||||
return IsEnabled(@"hideCC_enabled") ? %orig(NO) : %orig;
|
if (IsEnabled(@"enableShareButton_enabled")) {
|
||||||
|
%orig(YES);
|
||||||
|
} else {
|
||||||
|
%orig(NO);
|
||||||
}
|
}
|
||||||
- (void)setAutoplaySwitchButtonRenderer:(id)arg1 { // hide Autoplay switch
|
|
||||||
if (IsEnabled(@"hideAutoplaySwitch_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
}
|
||||||
- (void)setShareButtonAvailable:(BOOL)arg2 { // enable Share Button
|
- (void)setAddToButtonAvailable:(BOOL)arg1 { // enable Save To Playlist button
|
||||||
if (IsEnabled(@"enableShareButton_enabled")) {}
|
if (IsEnabled(@"enableSaveToButton_enabled")) {
|
||||||
else { return %orig; }
|
%orig(YES);
|
||||||
|
} else {
|
||||||
|
%orig(NO);
|
||||||
}
|
}
|
||||||
- (void)setAddToButtonAvailable:(BOOL)arg2 { // enable Save to Playlist Button
|
|
||||||
if (IsEnabled(@"enableSaveToButton_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
@@ -127,22 +122,6 @@ static BOOL IsEnabled(NSString *key) {
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Hide Next & Previous button
|
|
||||||
%group gHidePreviousAndNextButton
|
|
||||||
%hook YTColdConfig
|
|
||||||
- (BOOL)removeNextPaddleForSingletonVideos { return YES; }
|
|
||||||
- (BOOL)removePreviousPaddleForSingletonVideos { return YES; }
|
|
||||||
%end
|
|
||||||
%end
|
|
||||||
|
|
||||||
%group gHideOverlayDarkBackground
|
|
||||||
%hook YTMainAppVideoPlayerOverlayView
|
|
||||||
- (void)setBackgroundVisible:(BOOL)arg1 {
|
|
||||||
%orig(NO);
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
%end
|
|
||||||
|
|
||||||
%group gHideVideoPlayerShadowOverlayButtons
|
%group gHideVideoPlayerShadowOverlayButtons
|
||||||
%hook YTMainAppControlsOverlayView
|
%hook YTMainAppControlsOverlayView
|
||||||
- (void)layoutSubviews {
|
- (void)layoutSubviews {
|
||||||
@@ -154,23 +133,12 @@ static BOOL IsEnabled(NSString *key) {
|
|||||||
MSHookIvar<YTPlaybackButton *>(self, "_playPauseButton").backgroundColor = nil;
|
MSHookIvar<YTPlaybackButton *>(self, "_playPauseButton").backgroundColor = nil;
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%hook YTPlayBackButton
|
|
||||||
- (UIColor *)backgroundColor {
|
|
||||||
return [UIColor colorWithRed: 0.00 green: 0.00 blue: 0.00 alpha: 0.00];
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// A/B flags
|
// A/B flags
|
||||||
%hook YTColdConfig
|
%hook YTColdConfig
|
||||||
- (BOOL)respectDeviceCaptionSetting { return NO; } // YouRememberCaption: https://poomsmart.github.io/repo/depictions/youremembercaption.html
|
- (BOOL)respectDeviceCaptionSetting { return NO; } // YouRememberCaption: https://poomsmart.github.io/repo/depictions/youremembercaption.html
|
||||||
- (BOOL)isLandscapeEngagementPanelSwipeRightToDismissEnabled { return YES; } // Swipe right to dismiss the right panel in fullscreen mode
|
- (BOOL)isLandscapeEngagementPanelSwipeRightToDismissEnabled { return YES; } // Swipe right to dismiss the right panel in fullscreen mode
|
||||||
- (BOOL)mainAppCoreClientIosTransientVisualGlitchInPivotBarFix { return NO; } // Fix uYou's label glitching - qnblackcat/uYouPlus#552
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Disabled App Breaking Dialog Flags - @arichorn
|
|
||||||
%hook YTColdConfig
|
|
||||||
- (BOOL)commercePlatformClientEnablePopupWebviewInWebviewDialogController { return NO;}
|
- (BOOL)commercePlatformClientEnablePopupWebviewInWebviewDialogController { return NO;}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
@@ -182,25 +150,6 @@ static BOOL IsEnabled(NSString *key) {
|
|||||||
- (BOOL)shouldShowUpgradeDialog { return NO;}
|
- (BOOL)shouldShowUpgradeDialog { return NO;}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Disable YouTube Ads - @arichorn
|
|
||||||
%group gRemoveAds
|
|
||||||
%hook YTHotConfig
|
|
||||||
- (BOOL)disableAfmaIdfaCollection { return NO; }
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTIElementRenderer
|
|
||||||
- (NSData *)elementData {
|
|
||||||
if (self.hasCompatibilityOptions && self.compatibilityOptions.hasAdLoggingData)
|
|
||||||
return nil;
|
|
||||||
NSString *description = [self description];
|
|
||||||
// product_carousel.eml product_engagement_panel.eml product_item.eml
|
|
||||||
if ([description containsString:@"brand_promo"] || [description containsString:@"statement_banner"])
|
|
||||||
return [NSData data];
|
|
||||||
return %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Disable Wifi Related Settings - @arichorn
|
// Disable Wifi Related Settings - @arichorn
|
||||||
%group gDisableWifiRelatedSettings
|
%group gDisableWifiRelatedSettings
|
||||||
%hook YTSettingsSectionItemManager
|
%hook YTSettingsSectionItemManager
|
||||||
@@ -217,16 +166,16 @@ static BOOL IsEnabled(NSString *key) {
|
|||||||
// YTNoModernUI - @arichorn
|
// YTNoModernUI - @arichorn
|
||||||
%group gYTNoModernUI
|
%group gYTNoModernUI
|
||||||
%hook YTVersionUtils // YTNoModernUI Version
|
%hook YTVersionUtils // YTNoModernUI Version
|
||||||
+ (NSString *)appVersion { return @"16.42.3"; }
|
+ (NSString *)appVersion { return @"17.11.2"; }
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%hook YTInlinePlayerBarContainerView // Red Progress Bar - YTNoModernUI
|
%hook YTInlinePlayerBarContainerView // Red Progress Bar - YTNoModernUI - made by Dayanch96
|
||||||
- (id)quietProgressBarColor {
|
- (id)quietProgressBarColor {
|
||||||
return [UIColor redColor];
|
return [UIColor redColor];
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%hook YTSegmentableInlinePlayerBarView // Old Buffer Bar - YTNoModernUI
|
%hook YTSegmentableInlinePlayerBarView // Gray Buffer Progress - YTNoModernUI - made by Dayanch96
|
||||||
- (void)setBufferedProgressBarColor:(id)arg1 {
|
- (void)setBufferedProgressBarColor:(id)arg1 {
|
||||||
[UIColor colorWithRed:0.65 green:0.65 blue:0.65 alpha:0.60];
|
[UIColor colorWithRed:0.65 green:0.65 blue:0.65 alpha:0.60];
|
||||||
}
|
}
|
||||||
@@ -299,20 +248,6 @@ static BOOL IsEnabled(NSString *key) {
|
|||||||
%end
|
%end
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Disable Video Player Zoom - @arichorn
|
|
||||||
%group gDisableVideoPlayerZoom
|
|
||||||
%hook YTColdConfig
|
|
||||||
- (BOOL)enableFreeZoomHaptics { return NO; }
|
|
||||||
- (BOOL)enableFreeZoomInPotraitOrientation { return NO; }
|
|
||||||
- (BOOL)isVideoZoomEnabled { return NO; }
|
|
||||||
- (BOOL)uiSystemsClientGlobalConfigEnableDisplayZoomMenuBugFix { return NO; }
|
|
||||||
- (BOOL)videoZoomFreeZoomEnabledGlobalConfig { return NO; }
|
|
||||||
- (BOOL)videoZoomFreeZoomIndicatorPersistentGlobalConfig { return NO; }
|
|
||||||
- (BOOL)videoZoomFreeZoomIndicatorTopGlobalConfig { return NO; }
|
|
||||||
- (BOOL)deprecateTabletPinchFullscreenGestures { return NO; } // <-- this is an iPad Exclusive Flag
|
|
||||||
%end
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Hide YouTube Heatwaves in Video Player (YouTube v17.19.2-present) - @level3tjg - https://www.reddit.com/r/jailbreak/comments/v29yvk/
|
// Hide YouTube Heatwaves in Video Player (YouTube v17.19.2-present) - @level3tjg - https://www.reddit.com/r/jailbreak/comments/v29yvk/
|
||||||
%group gHideHeatwaves
|
%group gHideHeatwaves
|
||||||
%hook YTInlinePlayerBarContainerView
|
%hook YTInlinePlayerBarContainerView
|
||||||
@@ -320,21 +255,6 @@ static BOOL IsEnabled(NSString *key) {
|
|||||||
%end
|
%end
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Replace Next & Previous button with Fast forward & Rewind button
|
|
||||||
%group gReplacePreviousAndNextButton
|
|
||||||
%hook YTColdConfig
|
|
||||||
- (BOOL)replaceNextPaddleWithFastForwardButtonForSingletonVods { return YES; }
|
|
||||||
- (BOOL)replacePreviousPaddleWithRewindButtonForSingletonVods { return YES; }
|
|
||||||
%end
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Hide HUD Messages
|
|
||||||
%hook YTHUDMessageView
|
|
||||||
- (id)initWithMessage:(id)arg1 dismissHandler:(id)arg2 {
|
|
||||||
return IsEnabled(@"hideHUD_enabled") ? nil : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// YTAutoFullScreen: https://github.com/PoomSmart/YTAutoFullScreen/
|
// YTAutoFullScreen: https://github.com/PoomSmart/YTAutoFullScreen/
|
||||||
%hook YTPlayerViewController
|
%hook YTPlayerViewController
|
||||||
- (void)loadWithPlayerTransition:(id)arg1 playbackConfig:(id)arg2 {
|
- (void)loadWithPlayerTransition:(id)arg1 playbackConfig:(id)arg2 {
|
||||||
@@ -358,25 +278,6 @@ static BOOL IsEnabled(NSString *key) {
|
|||||||
- (BOOL)isPromptForLocalNetworkPermissionsEnabled { return NO; }
|
- (BOOL)isPromptForLocalNetworkPermissionsEnabled { return NO; }
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// YTNoPaidPromo: https://github.com/PoomSmart/YTNoPaidPromo
|
|
||||||
%hook YTMainAppVideoPlayerOverlayViewController
|
|
||||||
- (void)setPaidContentWithPlayerData:(id)data {
|
|
||||||
if (IsEnabled(@"hidePaidPromotionCard_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
|
||||||
- (void)playerOverlayProvider:(YTPlayerOverlayProvider *)provider didInsertPlayerOverlay:(YTPlayerOverlay *)overlay {
|
|
||||||
if ([[overlay overlayIdentifier] isEqualToString:@"player_overlay_paid_content"] && IsEnabled(@"hidePaidPromotionCard_enabled")) return;
|
|
||||||
%orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTInlineMutedPlaybackPlayerOverlayViewController
|
|
||||||
- (void)setPaidContentWithPlayerData:(id)data {
|
|
||||||
if (IsEnabled(@"hidePaidPromotionCard_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
# pragma mark - IAmYouTube - https://github.com/PoomSmart/IAmYouTube/
|
# pragma mark - IAmYouTube - https://github.com/PoomSmart/IAmYouTube/
|
||||||
%hook YTVersionUtils
|
%hook YTVersionUtils
|
||||||
+ (NSString *)appName { return YT_NAME; }
|
+ (NSString *)appName { return YT_NAME; }
|
||||||
@@ -481,91 +382,6 @@ static BOOL IsEnabled(NSString *key) {
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Shorts Controls Overlay Options
|
|
||||||
%hook YTReelWatchPlaybackOverlayView
|
|
||||||
- (void)setNativePivotButton:(id)arg1 {
|
|
||||||
if (IsEnabled(@"hideShortsChannelAvatar_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
|
||||||
- (void)setReelLikeButton:(id)arg1 {
|
|
||||||
if (IsEnabled(@"hideShortsLikeButton_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
|
||||||
- (void)setReelDislikeButton:(id)arg1 {
|
|
||||||
if (IsEnabled(@"hideShortsDislikeButton_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
|
||||||
- (void)setViewCommentButton:(id)arg1 {
|
|
||||||
if (IsEnabled(@"hideShortsCommentButton_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
|
||||||
- (void)setRemixButton:(id)arg1 {
|
|
||||||
if (IsEnabled(@"hideShortsRemixButton_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
|
||||||
- (void)setShareButton:(id)arg1 {
|
|
||||||
if (IsEnabled(@"hideShortsShareButton_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook _ASDisplayView
|
|
||||||
- (void)didMoveToWindow {
|
|
||||||
%orig;
|
|
||||||
if ((IsEnabled(@"hideBuySuperThanks_enabled")) && ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.suggested_action"])) {
|
|
||||||
self.hidden = YES;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTReelWatchRootViewController
|
|
||||||
- (void)setPausedStateCarouselView {
|
|
||||||
if (IsEnabled(@"hideSubscriptions_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTColdConfig
|
|
||||||
- (BOOL)enableResumeToShorts {
|
|
||||||
if (IsEnabled(@"disableResumeToShorts")) { return NO; }
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// YTReExplore: https://github.com/PoomSmart/YTReExplore/
|
|
||||||
%group gReExplore
|
|
||||||
static void replaceTab(YTIGuideResponse *response) {
|
|
||||||
NSMutableArray <YTIGuideResponseSupportedRenderers *> *renderers = [response itemsArray];
|
|
||||||
for (YTIGuideResponseSupportedRenderers *guideRenderers in renderers) {
|
|
||||||
YTIPivotBarRenderer *pivotBarRenderer = [guideRenderers pivotBarRenderer];
|
|
||||||
NSMutableArray <YTIPivotBarSupportedRenderers *> *items = [pivotBarRenderer itemsArray];
|
|
||||||
NSUInteger shortIndex = [items indexOfObjectPassingTest:^BOOL(YTIPivotBarSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) {
|
|
||||||
return [[[renderers pivotBarItemRenderer] pivotIdentifier] isEqualToString:@"FEshorts"];
|
|
||||||
}];
|
|
||||||
if (shortIndex != NSNotFound) {
|
|
||||||
[items removeObjectAtIndex:shortIndex];
|
|
||||||
NSUInteger exploreIndex = [items indexOfObjectPassingTest:^BOOL(YTIPivotBarSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) {
|
|
||||||
return [[[renderers pivotBarItemRenderer] pivotIdentifier] isEqualToString:[%c(YTIBrowseRequest) browseIDForExploreTab]];
|
|
||||||
}];
|
|
||||||
if (exploreIndex == NSNotFound) {
|
|
||||||
YTIPivotBarSupportedRenderers *exploreTab = [%c(YTIPivotBarRenderer) pivotSupportedRenderersWithBrowseId:[%c(YTIBrowseRequest) browseIDForExploreTab] title:@"Explore" iconType:292];
|
|
||||||
[items insertObject:exploreTab atIndex:1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%hook YTGuideServiceCoordinator
|
|
||||||
- (void)handleResponse:(YTIGuideResponse *)response withCompletion:(id)completion {
|
|
||||||
replaceTab(response);
|
|
||||||
%orig(response, completion);
|
|
||||||
}
|
|
||||||
- (void)handleResponse:(YTIGuideResponse *)response error:(id)error completion:(id)completion {
|
|
||||||
replaceTab(response);
|
|
||||||
%orig(response, error, completion);
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
%end
|
|
||||||
|
|
||||||
// BigYTMiniPlayer: https://github.com/Galactic-Dev/BigYTMiniPlayer
|
// BigYTMiniPlayer: https://github.com/Galactic-Dev/BigYTMiniPlayer
|
||||||
%group Main
|
%group Main
|
||||||
%hook YTWatchMiniBarView
|
%hook YTWatchMiniBarView
|
||||||
@@ -591,72 +407,6 @@ static void replaceTab(YTIGuideResponse *response) {
|
|||||||
%end
|
%end
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// YTSpeed - https://github.com/Lyvendia/YTSpeed
|
|
||||||
%group gYTSpeed
|
|
||||||
%hook YTVarispeedSwitchController
|
|
||||||
- (id)init {
|
|
||||||
id result = %orig;
|
|
||||||
|
|
||||||
const int size = 17;
|
|
||||||
float speeds[] = {0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0, 3.25, 3.5, 3.75, 4.0, 5.0};
|
|
||||||
id varispeedSwitchControllerOptions[size];
|
|
||||||
|
|
||||||
for (int i = 0; i < size; ++i) {
|
|
||||||
id title = [NSString stringWithFormat:@"%.2fx", speeds[i]];
|
|
||||||
varispeedSwitchControllerOptions[i] = [[%c(YTVarispeedSwitchControllerOption) alloc] initWithTitle:title rate:speeds[i]];
|
|
||||||
}
|
|
||||||
|
|
||||||
NSUInteger count = sizeof(varispeedSwitchControllerOptions) / sizeof(id);
|
|
||||||
NSArray *varispeedArray = [NSArray arrayWithObjects:varispeedSwitchControllerOptions count:count];
|
|
||||||
MSHookIvar<NSArray *>(self, "_options") = varispeedArray;
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook MLHAMQueuePlayer
|
|
||||||
- (void)setRate:(float)rate {
|
|
||||||
MSHookIvar<float>(self, "_rate") = rate;
|
|
||||||
MSHookIvar<float>(self, "_preferredRate") = rate;
|
|
||||||
|
|
||||||
id player = MSHookIvar<HAMPlayerInternal *>(self, "_player");
|
|
||||||
[player setRate: rate];
|
|
||||||
|
|
||||||
id stickySettings = MSHookIvar<MLPlayerStickySettings *>(self, "_stickySettings");
|
|
||||||
[stickySettings setRate: rate];
|
|
||||||
|
|
||||||
[self.playerEventCenter broadcastRateChange: rate];
|
|
||||||
|
|
||||||
YTSingleVideoController *singleVideoController = self.delegate;
|
|
||||||
[singleVideoController playerRateDidChange: rate];
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTPlayerViewController
|
|
||||||
%property (nonatomic, assign) float playbackRate;
|
|
||||||
- (void)singleVideo:(id)video playbackRateDidChange:(float)rate {
|
|
||||||
%orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Disable snap to chapter
|
|
||||||
%hook YTSegmentableInlinePlayerBarView
|
|
||||||
- (void)didMoveToWindow {
|
|
||||||
%orig;
|
|
||||||
if (IsEnabled(@"snapToChapter_enabled")) {
|
|
||||||
self.enableSnapToChapter = NO;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Disable Pinch to zoom
|
|
||||||
%hook YTColdConfig
|
|
||||||
- (BOOL)videoZoomFreeZoomEnabledGlobalConfig {
|
|
||||||
return IsEnabled(@"pinchToZoom_enabled") ? NO : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// YTStockVolumeHUD - https://github.com/lilacvibes/YTStockVolumeHUD
|
// YTStockVolumeHUD - https://github.com/lilacvibes/YTStockVolumeHUD
|
||||||
%group gStockVolumeHUD
|
%group gStockVolumeHUD
|
||||||
%hook YTVolumeBarView
|
%hook YTVolumeBarView
|
||||||
@@ -672,81 +422,7 @@ static void replaceTab(YTIGuideResponse *response) {
|
|||||||
%end
|
%end
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Hide Watermark
|
|
||||||
%hook YTAnnotationsViewController
|
|
||||||
- (void)loadFeaturedChannelWatermark {
|
|
||||||
if (IsEnabled(@"hideChannelWatermark_enabled")) {}
|
|
||||||
else { return %orig; }
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Bring back the red progress bar
|
|
||||||
%hook YTInlinePlayerBarContainerView
|
|
||||||
- (id)quietProgressBarColor {
|
|
||||||
return IsEnabled(@"redProgressBar_enabled") ? [UIColor redColor] : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Disable tap to skip
|
|
||||||
%hook YTDoubleTapToSeekController
|
|
||||||
- (void)enableDoubleTapToSeek:(BOOL)arg1 {
|
|
||||||
return IsEnabled(@"tapToSkip_disabled") ? %orig(NO) : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Hide YouTube Logo
|
|
||||||
%group gHideYouTubeLogo
|
|
||||||
%hook YTHeaderLogoController
|
|
||||||
- (YTHeaderLogoController *)init {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Miscellaneous
|
// Miscellaneous
|
||||||
// Disable hints - https://github.com/LillieH001/YouTube-Reborn/blob/v4/
|
|
||||||
%group gDisableHints
|
|
||||||
%hook YTSettings
|
|
||||||
- (BOOL)areHintsDisabled {
|
|
||||||
return YES;
|
|
||||||
}
|
|
||||||
- (void)setHintsDisabled:(BOOL)arg1 {
|
|
||||||
%orig(YES);
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
%hook YTUserDefaults
|
|
||||||
- (BOOL)areHintsDisabled {
|
|
||||||
return YES;
|
|
||||||
}
|
|
||||||
- (void)setHintsDisabled:(BOOL)arg1 {
|
|
||||||
%orig(YES);
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Hide the Chip Bar (Upper Bar) in Home feed
|
|
||||||
%group gHideChipBar
|
|
||||||
%hook YTMySubsFilterHeaderView
|
|
||||||
- (void)setChipFilterView:(id)arg1 {}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTHeaderContentComboView
|
|
||||||
- (void)enableSubheaderBarWithView:(id)arg1 {}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTHeaderContentComboView
|
|
||||||
- (void)setFeedHeaderScrollMode:(int)arg1 { %orig(0); }
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Hide the chip bar under the video player?
|
|
||||||
// %hook YTChipCloudCell //
|
|
||||||
// - (void)didMoveToWindow {
|
|
||||||
// %orig;
|
|
||||||
// self.hidden = YES;
|
|
||||||
// }
|
|
||||||
// %end
|
|
||||||
%end
|
|
||||||
|
|
||||||
%group giPadLayout // https://github.com/LillieH001/YouTube-Reborn
|
%group giPadLayout // https://github.com/LillieH001/YouTube-Reborn
|
||||||
%hook UIDevice
|
%hook UIDevice
|
||||||
- (long long)userInterfaceIdiom {
|
- (long long)userInterfaceIdiom {
|
||||||
@@ -812,21 +488,9 @@ static void replaceTab(YTIGuideResponse *response) {
|
|||||||
if (IsEnabled(@"iPhoneLayout_enabled")) {
|
if (IsEnabled(@"iPhoneLayout_enabled")) {
|
||||||
%init(giPhoneLayout);
|
%init(giPhoneLayout);
|
||||||
}
|
}
|
||||||
if (IsEnabled(@"reExplore_enabled")) {
|
|
||||||
%init(gReExplore);
|
|
||||||
}
|
|
||||||
if (IsEnabled(@"bigYTMiniPlayer_enabled") && (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad)) {
|
if (IsEnabled(@"bigYTMiniPlayer_enabled") && (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad)) {
|
||||||
%init(Main);
|
%init(Main);
|
||||||
}
|
}
|
||||||
if (IsEnabled(@"hidePreviousAndNextButton_enabled")) {
|
|
||||||
%init(gHidePreviousAndNextButton);
|
|
||||||
}
|
|
||||||
if (IsEnabled(@"replacePreviousAndNextButton_enabled")) {
|
|
||||||
%init(gReplacePreviousAndNextButton);
|
|
||||||
}
|
|
||||||
if (IsEnabled(@"hideOverlayDarkBackground_enabled")) {
|
|
||||||
%init(gHideOverlayDarkBackground);
|
|
||||||
}
|
|
||||||
if (IsEnabled(@"hideVideoPlayerShadowOverlayButtons_enabled")) {
|
if (IsEnabled(@"hideVideoPlayerShadowOverlayButtons_enabled")) {
|
||||||
%init(gHideVideoPlayerShadowOverlayButtons);
|
%init(gHideVideoPlayerShadowOverlayButtons);
|
||||||
}
|
}
|
||||||
@@ -839,24 +503,6 @@ static void replaceTab(YTIGuideResponse *response) {
|
|||||||
if (IsEnabled(@"ytNoModernUI_enabled")) {
|
if (IsEnabled(@"ytNoModernUI_enabled")) {
|
||||||
%init(gYTNoModernUI);
|
%init(gYTNoModernUI);
|
||||||
}
|
}
|
||||||
if (IsEnabled(@"disableVideoPlayerZoom_enabled")) {
|
|
||||||
%init(gDisableVideoPlayerZoom);
|
|
||||||
}
|
|
||||||
if (IsEnabled(@"hideYouTubeLogo_enabled")) {
|
|
||||||
%init(gHideYouTubeLogo);
|
|
||||||
}
|
|
||||||
if (IsEnabled(@"disableHints_enabled")) {
|
|
||||||
%init(gDisableHints);
|
|
||||||
}
|
|
||||||
if (IsEnabled(@"hideChipBar_enabled")) {
|
|
||||||
%init(gHideChipBar);
|
|
||||||
}
|
|
||||||
if (IsEnabled(@"ytSpeed_enabled")) {
|
|
||||||
%init(gYTSpeed);
|
|
||||||
}
|
|
||||||
if (IsEnabled(@"removeAds_enabled")) {
|
|
||||||
%init(gRemoveAds);
|
|
||||||
}
|
|
||||||
if (IsEnabled(@"stockVolumeHUD_enabled")) {
|
if (IsEnabled(@"stockVolumeHUD_enabled")) {
|
||||||
%init(gStockVolumeHUD);
|
%init(gStockVolumeHUD);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user