Merge branch 'arichornlover:main' into main
This commit is contained in:
commit
501389edaf
4 changed files with 67 additions and 45 deletions
|
|
@ -287,7 +287,9 @@
|
|||
- **Compatibility:** Requires iOS/iPadOS 15.0 or later.
|
||||
- For AltStore user:
|
||||
|
||||
- My official AltStore repo: https://therealfoxster.github.io/altsource-viewer/view/?source=https://raw.githubusercontent.com/arichornlover/arichornlover.github.io/main/apps.json
|
||||
- My official AltStore repo (uYouEnhanced - iOS 15+): https://therealfoxster.github.io/altsource-viewer/view/?source=https://raw.githubusercontent.com/arichornloverALT/arichornloverALT.github.io/main/apps.json
|
||||
|
||||
- My alternative AltStore repo (uYouEnhanced - iOS 14+ - mainly for Trollstore users): https://therealfoxster.github.io/altsource-viewer/view/?source=https://raw.githubusercontent.com/arichornloverALT/arichornloverALT.github.io/main/apps-legacy.json - not sure if i can update this ipa. this IPA will be locked in YouTube Version **19.20.2**
|
||||
|
||||
- [Open in AltStore (v19.21.2-3.0.4)](https://tinyurl.com/2wea84xd) - It will take a while to install because AltStore needs to download the IPA first.
|
||||
|
||||
|
|
|
|||
|
|
@ -664,15 +664,29 @@ static int contrastMode() {
|
|||
- (BOOL)cxClientEnableModernizedActionSheet { return NO; }
|
||||
- (BOOL)enableClientShortsSheetsModernization { return NO; }
|
||||
- (BOOL)enableTimestampModernizationForNative { return NO; }
|
||||
- (BOOL)modernizeElementsTextColor { return NO; }
|
||||
- (BOOL)modernizeElementsBgColor { return NO; }
|
||||
- (BOOL)mainAppCoreClientEnableModernIaFeedStretchBottom { return NO; }
|
||||
- (BOOL)mainAppCoreClientEnableModernIaFrostedBottomBar { return NO; }
|
||||
- (BOOL)mainAppCoreClientEnableModernIaFrostedPivotBar { return NO; }
|
||||
- (BOOL)mainAppCoreClientEnableModernIaFrostedPivotBarUpdatedBackdrop { return NO; }
|
||||
- (BOOL)mainAppCoreClientEnableModernIaFrostedTopBar { return NO; }
|
||||
- (BOOL)mainAppCoreClientEnableModernIaOpacityPivotBar { return NO; }
|
||||
- (BOOL)mainAppCoreClientEnableModernIaTopAndBottomBarIconRefresh { return NO; }
|
||||
- (BOOL)mainAppCoreClientEnableModernizedBedtimeReminderU18DefaultSettings { return NO; }
|
||||
- (BOOL)modernizeCameoNavbar { return NO; }
|
||||
- (BOOL)modernizeCollectionLockups { return NO; }
|
||||
- (BOOL)modernizeCollectionLockupsShowVideoCount { return NO; }
|
||||
- (BOOL)modernizeElementsBgColor { return NO; }
|
||||
- (BOOL)modernizeElementsTextColor { return NO; }
|
||||
- (BOOL)postsCreatorClientEnableModernButtonsUi { return NO; }
|
||||
- (BOOL)pullToFullModernEdu { return NO; }
|
||||
- (BOOL)showModernMiniplayerRedesign { return NO; }
|
||||
- (BOOL)uiSystemsClientGlobalConfigEnableModernButtonsForNative { return NO; }
|
||||
- (BOOL)uiSystemsClientGlobalConfigIosEnableModernTabsForNative { return NO; }
|
||||
- (BOOL)uiSystemsClientGlobalConfigIosEnableEpUxUpdates { return NO; }
|
||||
- (BOOL)uiSystemsClientGlobalConfigIosEnableSheetsUxUpdates { return NO; }
|
||||
- (BOOL)uiSystemsClientGlobalConfigIosEnableSnackbarModernization { return NO; }
|
||||
- (BOOL)uiSystemsClientGlobalConfigModernizeNativeBgColor { return NO; }
|
||||
- (BOOL)uiSystemsClientGlobalConfigModernizeNativeTextColor { return NO; }
|
||||
// Disable Rounded Content
|
||||
- (BOOL)enableIosFloatingMiniplayerRoundedCornerRadius { return YES; }
|
||||
- (BOOL)iosDownloadsPageRoundedThumbs { return NO; }
|
||||
- (BOOL)iosRoundedSearchBarSuggestZeroPadding { return NO; }
|
||||
- (BOOL)uiSystemsClientGlobalConfigEnableRoundedDialogForNative { return NO; }
|
||||
|
|
@ -1025,8 +1039,9 @@ static int contrastMode() {
|
|||
}
|
||||
%end
|
||||
|
||||
/*
|
||||
// LEGACY VERSION ⚠️
|
||||
// Hide Fullscreen Button - @arichornlover - PoomSmart's Newer Version of the *YouQuality* tweak breaks when enabling this
|
||||
// Hide Fullscreen Button - @arichornlover - PoomSmart's 1.2.0+ Versions of the *YouQuality* tweak makes the button invisible when enabling this
|
||||
%hook YTInlinePlayerBarContainerView
|
||||
- (void)layoutSubviews {
|
||||
%orig;
|
||||
|
|
@ -1043,15 +1058,18 @@ static int contrastMode() {
|
|||
}
|
||||
}
|
||||
%end
|
||||
*/
|
||||
|
||||
// NEW VERSION
|
||||
// Hide Fullscreen Button - @arichornlover - UNTESTED!
|
||||
// %hook YTInlinePlayerBarContainerView
|
||||
// - (BOOL)fullscreenButtonDisabled { return YES; }
|
||||
// - (BOOL)canShowFullscreenButton { return NO; }
|
||||
// - (BOOL)canShowFullscreenButtonExperimental { return NO; }
|
||||
// - (void)setFullscreenButtonDisabled:(BOOL) // this line should remain disabled for now.
|
||||
// %end
|
||||
// Hide Fullscreen Button - @arichornlover
|
||||
%group gHideFullscreenButton
|
||||
%hook YTInlinePlayerBarContainerView
|
||||
- (BOOL)fullscreenButtonDisabled { return YES; }
|
||||
- (BOOL)canShowFullscreenButton { return NO; }
|
||||
- (BOOL)canShowFullscreenButtonExperimental { return NO; }
|
||||
// - (void)setFullscreenButtonDisabled:(BOOL) // Uncomment and might implement this if needed - @arichornlover
|
||||
%end
|
||||
%end
|
||||
|
||||
// Hide HUD Messages
|
||||
%hook YTHUDMessageView
|
||||
|
|
@ -1658,6 +1676,9 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
|
|||
if (IS_ENABLED(@"portraitFullscreen_enabled")) {
|
||||
%init(gPortraitFullscreen);
|
||||
}
|
||||
if (IS_ENABLED(@"disableFullscreenButton_enabled")) {
|
||||
%init(gHideFullscreenButton);
|
||||
}
|
||||
if (IS_ENABLED(@"hideFullscreenActions_enabled")) {
|
||||
%init(hideFullscreenActions);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,16 +12,6 @@
|
|||
}
|
||||
%end
|
||||
|
||||
// Workaround for MiRO92/uYou-for-YouTube#12, qnblackcat/uYouPlus#263
|
||||
%hook YTDataUtils
|
||||
+ (NSMutableDictionary *)spamSignalsDictionary {
|
||||
return nil;
|
||||
}
|
||||
+ (NSMutableDictionary *)spamSignalsDictionaryWithoutIDFA {
|
||||
return nil;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTHotConfig
|
||||
- (BOOL)disableAfmaIdfaCollection { return NO; }
|
||||
%end
|
||||
|
|
@ -151,8 +141,12 @@ static BOOL showNativeShareSheet(NSString *serializedShareEntity) {
|
|||
/*
|
||||
%hook YTShareRequestViewController
|
||||
- (id)initWithService:(id)_service parentResponder:(id)_parentResponder {
|
||||
// disable the default share sheet behavior and force the app to call [YTAccountScopedCommandRouter handleCommand]
|
||||
return NULL;
|
||||
id result = %orig;
|
||||
// disable the default share sheet behavior and force the app to call [YTAccountScopedCommandRouter handleCommand] if available
|
||||
if ([_parentResponder respondsToSelector:@selector(handleCommand:entry:fromView:sender:completionBlock:)]) {
|
||||
[_parentResponder handleCommand:nil entry:nil fromView:nil sender:nil completionBlock:nil];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
%end
|
||||
*/
|
||||
|
|
@ -171,7 +165,6 @@ static BOOL showNativeShareSheet(NSString *serializedShareEntity) {
|
|||
}
|
||||
%end
|
||||
|
||||
|
||||
/* ------------------- iPhone Layout ------------------- */
|
||||
|
||||
%hook ELMPBShowActionSheetCommand
|
||||
|
|
@ -347,4 +340,7 @@ static void refreshUYouAppearance() {
|
|||
|
||||
// Disable uYou's playback speed controls (prevent crash on video playback https://github.com/therealFoxster/uYouPlus/issues/2#issuecomment-1894912963)
|
||||
// [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"showPlaybackRate"];
|
||||
|
||||
// Disable uYou's adblock
|
||||
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"removeYouTubeAds"];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -201,21 +201,19 @@ extern NSBundle *uYouPlusBundle();
|
|||
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
if (IS_ENABLED(@"replaceCopyandPasteButtons_enabled")) {
|
||||
// Export Settings functionality
|
||||
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
|
||||
NSURL *tempFileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"exported_settings.txt"]];
|
||||
NSMutableString *settingsString = [NSMutableString string];
|
||||
for (NSString *key in copyKeys) {
|
||||
if ([userDefaults objectForKey:key]) {
|
||||
NSString *value = [userDefaults objectForKey:key];
|
||||
id value = [[NSUserDefaults standardUserDefaults] objectForKey:key];
|
||||
if (value) {
|
||||
[settingsString appendFormat:@"%@: %@\n", key, value];
|
||||
}
|
||||
}
|
||||
if (settingsString.length > 0) {
|
||||
UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"public.text"] inMode:UIDocumentPickerModeExportToService];
|
||||
[settingsString writeToURL:tempFileURL atomically:YES encoding:NSUTF8StringEncoding error:nil];
|
||||
UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithURL:tempFileURL inMode:UIDocumentPickerModeExportToService];
|
||||
documentPicker.delegate = (id<UIDocumentPickerDelegate>)self;
|
||||
documentPicker.allowsMultipleSelection = NO;
|
||||
[UIApplication.sharedApplication.keyWindow.rootViewController presentViewController:documentPicker animated:YES completion:nil];
|
||||
}
|
||||
return YES;
|
||||
[settingsViewController presentViewController:documentPicker animated:YES completion:nil];
|
||||
} else {
|
||||
// Copy Settings functionality (default behavior)
|
||||
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
|
||||
|
|
@ -245,7 +243,7 @@ extern NSBundle *uYouPlusBundle();
|
|||
UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"public.text"] inMode:UIDocumentPickerModeImport];
|
||||
documentPicker.delegate = (id<UIDocumentPickerDelegate>)self;
|
||||
documentPicker.allowsMultipleSelection = NO;
|
||||
[UIApplication.sharedApplication.keyWindow.rootViewController presentViewController:documentPicker animated:YES completion:nil];
|
||||
[settingsViewController presentViewController:documentPicker animated:YES completion:nil];
|
||||
return YES;
|
||||
} else {
|
||||
// Paste Settings functionality (default behavior)
|
||||
|
|
@ -262,7 +260,7 @@ extern NSBundle *uYouPlusBundle();
|
|||
NSString *value = components[1];
|
||||
[[NSUserDefaults standardUserDefaults] setObject:value forKey:key];
|
||||
}
|
||||
}
|
||||
}
|
||||
[settingsViewController reloadData];
|
||||
SHOW_RELAUNCH_YT_SNACKBAR;
|
||||
}
|
||||
|
|
@ -1395,18 +1393,23 @@ extern NSBundle *uYouPlusBundle();
|
|||
[settingsViewController setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouEnhanced" titleDescription:LOC(@"TITLE DESCRIPTION") headerHidden:YES];
|
||||
}
|
||||
|
||||
// File Manager (Paste Settings)
|
||||
// File Manager (Import Settings .txt)
|
||||
- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentsAtURLs:(NSArray<NSURL *> *)urls {
|
||||
if (urls.count > 0) {
|
||||
NSString *fileContents = [NSString stringWithContentsOfURL:urls.firstObject encoding:NSUTF8StringEncoding error:nil];
|
||||
NSArray *lines = [fileContents componentsSeparatedByString:@"\n"];
|
||||
for (NSString *line in lines) {
|
||||
NSArray *components = [line componentsSeparatedByString:@": "];
|
||||
if (components.count == 2) {
|
||||
NSString *key = components[0];
|
||||
NSString *value = components[1];
|
||||
[[NSUserDefaults standardUserDefaults] setObject:value forKey:key];
|
||||
NSURL *fileURL = urls.firstObject;
|
||||
NSString *fileContents = [NSString stringWithContentsOfURL:fileURL encoding:NSUTF8StringEncoding error:nil];
|
||||
if (fileContents.length > 0) {
|
||||
NSArray *lines = [fileContents componentsSeparatedByString:@"\n"];
|
||||
for (NSString *line in lines) {
|
||||
NSArray *components = [line componentsSeparatedByString:@": "];
|
||||
if (components.count == 2) {
|
||||
NSString *key = components[0];
|
||||
NSString *value = components[1];
|
||||
[[NSUserDefaults standardUserDefaults] setObject:value forKey:key];
|
||||
}
|
||||
}
|
||||
YTSettingsViewController *settingsViewController = [self valueForKey:@"_settingsViewControllerDelegate"];
|
||||
[settingsViewController reloadData];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue