From eee57234ebcc0210865ef5f7d6d0bf4261777d07 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Sun, 11 Feb 2024 10:58:22 -0600 Subject: [PATCH] Added YouGroupSettings (PoomSmart) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Whenever I updated the Submodules, I saw this when I was looking through the changes. And the weirder thing is that my settings changed and I’m certain and hope that this fixes the problems I’ve been having in the Settings. If it doesn’t then I don’t know. --- Sources/uYouPlusSettings.xm | 51 +++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/Sources/uYouPlusSettings.xm b/Sources/uYouPlusSettings.xm index dac600e..6e1ed7a 100644 --- a/Sources/uYouPlusSettings.xm +++ b/Sources/uYouPlusSettings.xm @@ -1,10 +1,12 @@ // Settings.xm made by the @therealFoxster +#import "../Tweaks/YouTubeHeader/YTSettingsGroupData.h" #import "../Tweaks/YouTubeHeader/YTSettingsViewController.h" #import "../Tweaks/YouTubeHeader/YTSearchableSettingsViewController.h" #import "../Tweaks/YouTubeHeader/YTSettingsSectionItem.h" #import "../Tweaks/YouTubeHeader/YTSettingsSectionItemManager.h" #import "../Tweaks/YouTubeHeader/YTUIUtils.h" #import "../Tweaks/YouTubeHeader/YTSettingsPickerViewController.h" +#import "../Tweaks/YouTubeHeader/YTIIcon.h" #import "ColourOptionsController.h" #import "ColourOptionsController2.h" #import "uYouPlus.h" @@ -37,6 +39,11 @@ static int appVersionSpoofer() { return [[NSUserDefaults standardUserDefaults] integerForKey:@"versionSpoofer"]; } static const NSInteger uYouPlusSection = 500; +static const NSUInteger GROUP_TYPE = 'psyt'; // PoomSmart/YouGroupSettings + +@interface YTSettingsGroupData (YouGroupSettings) // PoomSmart/YouGroupSettings ++ (NSMutableArray *)tweaks; +@end @interface YTSettingsSectionItemManager (uYouPlus) - (void)updateTweakSectionWithEntry:(id)entry; @@ -74,6 +81,50 @@ extern NSBundle *uYouPlusBundle(); } %end +// PoomSmart/YouGroupSettings +%hook YTSettingsGroupData +%new(@@:) ++ (NSMutableArray *)tweaks { + static NSMutableArray *tweaks = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + tweaks = [NSMutableArray new]; + [tweaks addObjectsFromArray:@[ + @(404), // YTABConfig + @(500), // uYouEnhanced / uYouPlus + @(517), // DontEatMyContent + @(1080), // Return YouTube Dislike + @(200), // YouPiP + @(2168), // YTHoldForSpeed + @(1222), // YTVideoOverlay + ]]; + }); + return tweaks; +} +- (NSString *)titleForSettingGroupType:(NSUInteger)type { + if (type == GROUP_TYPE) { + return @"Tweaks"; + } + return %orig; +} +- (NSArray *)orderedCategoriesForGroupType:(NSUInteger)type { + if (type == GROUP_TYPE) + return [[self class] tweaks]; + return %orig; +} +%end + +%hook YTSettingsViewController +- (void)setSectionItems:(NSMutableArray *)sectionItems forCategory:(NSInteger)category title:(NSString *)title icon:(YTIIcon *)icon titleDescription:(NSString *)titleDescription headerHidden:(BOOL)headerHidden { + if (icon == nil && [[%c(YTSettingsGroupData) tweaks] containsObject:@(category)]) { + icon = [%c(YTIIcon) new]; + icon.iconType = 44; + } + %orig; +} +%end +// + %hook YTSettingsSectionController - (void)setSelectedItem:(NSUInteger)selectedItem { if (selectedItem != NSNotFound) %orig;