Merge branch 'main' into uYouPlus-sync

This commit is contained in:
Bryce Hackel 2024-04-08 22:43:30 -04:00
commit dd20316ee9
No known key found for this signature in database
GPG key ID: F031960F08455E88
16 changed files with 168 additions and 62 deletions

View file

@ -16,11 +16,6 @@ on:
default: "3.0.3"
required: true
type: string
uyouenhanced_version:
description: "The version of uYouEnhanced (Commit ID)"
default: "main"
required: true
type: string
decrypted_youtube_url:
description: "The direct URL to the decrypted YouTube ipa"
default: ""
@ -63,7 +58,6 @@ jobs:
uses: actions/checkout@v4.1.1
with:
path: main
ref: ${{ inputs.uyouenhanced_version }}
submodules: recursive
- name: Install Dependencies

View file

@ -42,8 +42,8 @@ on:
description: 'Logs simulated changes, no deletions are performed'
required: false
schedule:
- cron: '0 0 * * *'
# schedule:
# - cron: '0 0 * * *'
jobs:
del_runs:

View file

@ -46,6 +46,8 @@ jobs:
git add .
git submodule update --init --recursive --remote Tweaks/YouQuality
git add .
git submodule update --init --recursive --remote Tweaks/YouGroupSettings
git add .
git submodule update --init --recursive --remote Tweaks/YouTubeHeader
git add .
git submodule update --init --recursive --remote Tweaks/iSponsorBlock

3
.gitmodules vendored
View file

@ -72,3 +72,6 @@
[submodule "Tweaks/uYouLocalization"]
path = Tweaks/uYouLocalization
url = https://github.com/dayanch96/uYouLocalization.git
[submodule "Tweaks/YouGroupSettings"]
path = Tweaks/YouGroupSettings
url = https://github.com/arichornlover/YouGroupSettings.git

View file

@ -0,0 +1 @@
../Tweaks/YouGroupSettings/layout/Library/Application Support/YouGroupSettings.bundle

View file

@ -3,24 +3,26 @@ If I verify a reported Code of Conduct violation, my policy is:
- Contributors are allowed to make patches only to the main branch, unless an additional branch is involved. This policy applies to the implementation of custom features/options, updated features/options, and grammar errors.
- uYouEnhanced does not support Localization pull requests. While it may seem like a sudden change, maintaining localization becomes challenging when the branch needs to be reset due to the changes from qnblackcat/uYouPlus repository. Therefore, it is difficult to preserve any localization changes that were added on uYouEnhanced since the fork/branch can get reset and takes too long to add them all back.
- uYouEnhanced does not support Localization pull requests. While it may seem like a sudden change, maintaining localization becomes challenging when the branch needs to be reset due in order to push to the latest changes from qnblackcat/uYouPlus repository. Therefore, it is difficult to preserve any localization changes that were added on uYouEnhanced since the fork/branch can get reset and takes too long to add them all back.
- The use of the name `uYouPlusExtra` is prohibited. The correct and updated name for this repository is `uYouEnhanced`.
- if there is a tweak named or have the description of the word `uYouPlusExtra` then please do check it out before you interact with it or use it.
- Users who fork this repository, utilize it in actions, or build it from the repository on Git are prohibited from releasing .ipa files on their forked repositories. This restriction is in place to comply with the following https://enterprise.githubsupport.com/attachments/token/1u4kyYJnjA8HZTPMXOGBhRk4Q/?, also, preventing any potential legal issues. If a user violates this rule by including an .ipa file in their GitHub release publicly, appropriate actions will be taken from either the tweak developer or Google since .ipa's aren't allowed, they have the rights to do that. I apologize but it's the only way keep the repo from getting taken down.
**Simpiflied/ADHD Version:** when building the ipa from your forked repository of uYouEnhanced, please do not upload and publish any .ipa files or I will have to do a request to take it down.
**Simpiflied Version:** when building the ipa from your forked repository of uYouEnhanced, please do not upload and publish any .ipa files or I will have to do a request to take it down.
<details>
<summary>Exclusive Rule for the original uYouPlus devs ⬇️</summary>
- The Users **qnblackcat** and **PoomSmart** are prohibited from utilizing any new or modified code that was introduced in the uYouEnhanced fork, but I'll allow you to use submodules and I allow you to utize the code you made for this fork. but Violation of this rule from the ones I don't allow will result in appropriate consequences, including but not limited to account suspension, access revocation, or other disciplinary actions as deemed necessary by the project administrators. Furthermore, it is strictly forbidden to publicly share or showcase the content of this policy on any social media platforms. Any breach of this restriction may result in similar disciplinary actions. This was policy was made to keep any rejected features on uYouEnhanced.
- Devs **qnblackcat** and **PoomSmart** are not allowed to use any new or changed code from the uYouEnhanced fork (excludes **AppIconOptionsController.m** & **AppIconOptionsController.h**) unless it is absolutely necessary. Breaking this rule may result in consequences like access revocation. it is strictly forbidden to publicly share or showcase the content of this policy on any social media platforms. This rule is in place to protect any of the rejected features in uYouEnhanced, refering to (LowContrastMode, Hide Shadow Overlay Button, YTHoldForSpeed & etc.)
To prevent conflicts and misunderstandings related to donations, all users should use code from the uYouEnhanced fork responsibly and honor the permissions and restrictions provided by the project administrators and tweak developers. Failure to do so may result in access revocation.
</details>
## Supported Versions
The following versions of the uYouEnhanced Tweak are currently supported with security and feature updates.
| Version | LTS Support | YT Version Supported | App Stability | uYou Functionality |
| ------- | ----------- | -------------------- | ------------- | ------------------ |
| [latest] | ✅ | ✅ | Stable | Fully functional |
| [19.06.2-3.0.3 LTS] | ✅ | ✅ | Stable, only provides version 19.06.2 of YouTube and uYou 3.0.3 | Crashes the App if the video is in Fullscreen on an iPad Device which would only happen if you installed the ipa using different sideloading/jailbreak tool. |
| [16.42.3-2.1 LTS](https://github.com/arichornlover/uYouEnhanced/tree/main-16.42.3LTS) | Discontinued | ❌ | iOS 16+ compatibility issues, some features may not work properly. App will not work anymore (except Search Menu, that's it.), and sadly most of the servers were closed on this version and includes all v16 releases affected aswell. 💔 | uYou Video/Audio Downloading is offline (except uYouLocal). |
| Developer(s) | Version | LTS Support | YT Version Supported | App Stability | uYou Functionality |
| ----------- | ------- | ----------- | -------------------- | ------------- | ------------------ |
| MiRO92(uYou) & arichornlover(uYouEnhanced) | [latest](https://github.com/arichornlover/uYouEnhanced/releases/latest) | ✅ | ✅ | Stable | Fully functional |
| MiRO92(uYou) & bhackel(uYouEnhanced-LTS) | [19.06.2-3.0.3 LTS](https://github.com/bhackel/uYouEnhanced/releases/tag/v19.06.2-3.0.3-(98)) | ✅ | ✅ | Stable, only provides version 19.06.2 of YouTube and uYou 3.0.3 | Crashes the app if the video is in fullscreen on an iPad, which would only happen if you installed the .ipa using a different sideloading/jailbreak tool. |
| MiRO92(uYou) & arichornlover(uYouEnhanced-LTS)| [16.42.3-2.1 LTS](https://github.com/arichornlover/uYouEnhanced/tree/main-16.42.3LTS) | Discontinued | ❌ | iOS 16+ compatibility issues, some features may not work properly. App will not work anymore, affecting versions v16.05.7-v17.32.2 as well. 💔 | uYou Video/Audio Downloading is offline (except uYouLocal). |

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -14,7 +14,7 @@ MODULES = jailed
endif
ifndef YOUTUBE_VERSION
YOUTUBE_VERSION = 19.12.3
YOUTUBE_VERSION = 19.13.1
endif
ifndef UYOU_VERSION
UYOU_VERSION = 3.0.3
@ -31,7 +31,7 @@ $(TWEAK_NAME)_FRAMEWORKS = UIKit Foundation AVFoundation AVKit Photos Accelerate
$(TWEAK_NAME)_LIBRARIES = bz2 c++ iconv z
$(TWEAK_NAME)_CFLAGS = -fobjc-arc -Wno-deprecated-declarations -Wno-unused-but-set-variable -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\"
#uYouLocalization $(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/uYouLocalization.dylib
$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib $(THEOS_OBJ_DIR)/YTNoCommunityPosts.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.dylib # $(THEOS_OBJ_DIR)/MrBeastify-ObjC.dylib
$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib $(THEOS_OBJ_DIR)/YTNoCommunityPosts.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib .theos/obj/YouGroupSettings.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.dylib # $(THEOS_OBJ_DIR)/MrBeastify-ObjC.dylib
$(TWEAK_NAME)_EMBED_LIBRARIES = $(THEOS_OBJ_DIR)/libcolorpicker.dylib
$(TWEAK_NAME)_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install_Alderis.xcarchive/Products/var/jb/Library/Frameworks/Alderis.framework
$(TWEAK_NAME)_EMBED_BUNDLES = $(wildcard Bundles/*.bundle)
@ -40,7 +40,7 @@ $(TWEAK_NAME)_EMBED_EXTENSIONS = $(wildcard Extensions/*.appex)
include $(THEOS)/makefiles/common.mk
ifneq ($(JAILBROKEN),1)
#uYouLocalization SUBPROJECTS += Tweaks/Alderis Tweaks/uYouLocalization
SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/YTSpeed # Tweaks/MrBeastify
SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/YouGroupSettings Tweaks/YTSpeed # Tweaks/MrBeastify
include $(THEOS_MAKE_PATH)/aggregate.mk
endif
include $(THEOS_MAKE_PATH)/tweak.mk

View file

@ -283,11 +283,11 @@
- [Open in AltStore (v19.10.7-3.0.3)](https://tinyurl.com/2s4zrj2h) - It will take a while to install because AltStore needs to download the IPA first.
<details>
<summary>Version information (last updated: Mar 12, 2024)</summary>
<summary>Version information (last updated: Apr 4, 2024)</summary>
| **Tweaks/App** | **Developer** | **Version** | **Open source** |
| - | - | :-: | :-: |
| **YouTube** | Google Inc | 19.10.7 | ✖︎ |
| **YouTube** | Google Inc | 19.13.1 | ✖︎ |
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | [MiRO92](https://twitter.com/miro92) | 3.0.3 | ✖︎ |
| **Open in YouTube** | [CokePokes](https://github.com/CokePokes) | 1.2 | [✔︎](https://github.com/CokePokes/YoutubeExtensions) |
| **iSponsorBlock** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.2.2 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
@ -318,16 +318,17 @@
| Developer | Tweak Name and Version | App Version Compatibility | iOS Version Compatibility |
|-----------|-----------------------|--------------------------|--------------------------|
| MiRO92 | uYou 2.1 / 2.3~1 | ~v16.42.3~ v17.01.4 - 18.01.6 | iOS 13 - iOS 15 |
| MiRO92 | uYou 2.1 / 2.3~1 | ~v16.42.3~ v17.33.2 - 18.01.6 | iOS 13 - iOS 15 |
| MiRO92 | uYou 3.0 | v18.06.6 - 18.18.2 | iOS 14 - iOS 15 |
| MiRO92 | uYou 3.0.1 | v18.19.1 - v18.41.5 | iOS 14 - iOS 17 |
| MiRO92 | uYou 3.0.2 / 3.0.3 | v19.06.2 - latest | iOS 14 - iOS 17 |
| MiRO92 | uYou 3.0.2 / 3.0.3 | v19.06.2 - latest | iOS 14 - iOS 17.4.1 |
# Installation
See [Installation - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Installation).
# Support the developers
- [**MiRO92**](https://twitter.com/miro92): https://github.com/MiRO92/uYou-for-YouTube#support
- [**PoomSmart**](https://github.com/PoomSmart): https://poomsmart.github.io
- [**level3tjg**](https://twitter.com/level3tjg): https://ko-fi.com/level3tjg
- [**BandarHL**](https://twitter.com/bandarhl): https://www.paypal.com/paypalme/BandarHL
- [**julioverne**](https://twitter.com/ijulioverne): https://www.patreon.com/julioverne

View file

@ -27,6 +27,7 @@
#import <YouTubeHeader/YTInlinePlayerBarContainerView.h>
#import <YouTubeHeader/YTInnerTubeCollectionViewController.h>
#import <YouTubeHeader/YTPivotBarItemView.h>
#import <Tweaks/YouTubeHeader/YTCollectionViewCell.h>
// Hide buttons under the video player by @PoomSmart
#import <YouTubeHeader/ASCollectionElement.h>
@ -51,7 +52,7 @@
// Hide Double tap to seek Overlay
@interface YTInlinePlayerDoubleTapIndicatorView : UIView
@property (nonatomic, strong) UIView *_scrimOverlay;
@property (nonatomic, strong) UIView *scrimOverlay;
@end
// YTTapToSeek - https://github.com/bhackel/YTTapToSeek

View file

@ -16,6 +16,20 @@ NSBundle *uYouPlusBundle() {
}
NSBundle *tweakBundle = uYouPlusBundle();
// uYouPlusSettings.xm
static int contrastMode() {
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
NSComparisonResult result1 = [appVersion compare:@"17.33.2" options:NSNumericSearch];
NSComparisonResult result2 = [appVersion compare:@"17.38.10" options:NSNumericSearch];
if (result1 != NSOrderedAscending && result2 != NSOrderedDescending) {
return [[NSUserDefaults standardUserDefaults] integerForKey:@"lcm"];
} else {
return 0;
}
}
//
# pragma mark - Tweaks
// Activate FLEX
@ -38,7 +52,14 @@ NSBundle *tweakBundle = uYouPlusBundle();
}
%end
// Workaround: uYou 3.0.3 Adblock fix.
// Enable Alternate Icons
%hook UIApplication
- (BOOL)supportsAlternateIcons {
return YES;
}
%end
// Workaround: uYou 3.0.3 Adblock fix - @PoomSmart
%hook YTAdsInnerTubeContextDecorator
- (void)decorateContext:(id)context {
if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) {}
@ -133,8 +154,7 @@ BOOL isAd(YTIElementRenderer *self) {
%end
%end
// YouTube Premium Logo - @arichornlover - this doesn't always function
// Modern implementation - @bhackel
// YouTube Premium Logo - @arichornlover & bhackel
%group gPremiumYouTubeLogo
%hook YTHeaderLogoController
- (void)setTopbarLogoRenderer:(id)renderer {
@ -238,6 +258,7 @@ BOOL isAd(YTIElementRenderer *self) {
%hook YTColdConfig
- (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)enableModularPlayerBarController { return NO; } // fixes some of the iSponorBlock problems
%end
// NOYTPremium - https://github.com/PoomSmart/NoYTPremium/
@ -299,7 +320,7 @@ BOOL isAd(YTIElementRenderer *self) {
- (BOOL)enablePlayerBarForVerticalVideoWhenControlsHiddenInFullscreen { return YES; }
%end
// YTNoTracking - @arichorn - https://github.com/arichorn/YTNoTracking/
// YTNoTracking - @arichornlover - https://github.com/arichornlover/YTNoTracking/ - OUTDATED
%hook UIApplication
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {
NSString *originalURLString = [url absoluteString];
@ -350,12 +371,33 @@ BOOL isAd(YTIElementRenderer *self) {
}
%end
// Fix LowContrastMode - @arichorn
// Fix LowContrastMode - @arichornlover
%group gFixLowContrastMode
%hook YTVersionUtils // Supported LowContrastMode Version
+ (NSString *)appVersion { return @"17.38.10"; }
%hook NSUserDefaults
- (NSInteger)integerForKey:(NSString *)defaultName {
if ([defaultName isEqualToString:@"lcm"]) {
return contrastMode();
}
return %orig;
}
%end
%hook NSBundle
- (id)objectForInfoDictionaryKey:(NSString *)key {
if ([key isEqualToString:@"CFBundleShortVersionString"]) {
return @"17.38.10";
}
return %orig;
}
%end
%hook YTVersionUtils
+ (NSString *)appVersion {
return @"17.38.10";
}
%end
/*
%hook YTSettingsCell // Remove v17.38.10 Version Number - @Dayanch96
- (void)setDetailText:(id)arg1 {
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
@ -366,23 +408,24 @@ BOOL isAd(YTIElementRenderer *self) {
} %orig(arg1);
}
%end
*/
%end
// Disable Modern/Rounded Buttons (_ASDisplayView not included) - @arichorn
// Disable Modern/Rounded Buttons (_ASDisplayView Version's not included) - @arichornlover
%group gDisableModernButtons
%hook YTQTMButton // Disable Modern/Rounded Buttons
+ (BOOL)buttonModernizationEnabled { return NO; }
%end
%end
// Disable Rounded Hints with no Rounded Corners - @arichorn
// Disable Rounded Hints with no Rounded Corners - @arichornlover
%group gDisableRoundedHints
%hook YTBubbleHintView // Disable Modern/Rounded Hints
+ (BOOL)modernRoundedCornersEnabled { return NO; }
%end
%end
// Disable Modern Flags - @arichorn
// Disable Modern Flags - @arichornlover
%group gDisableModernFlags
%hook YTColdConfig
// Disable Modern Content
@ -423,7 +466,7 @@ BOOL isAd(YTIElementRenderer *self) {
%end
%end
// Disable Ambient Mode in Fullscreen - @arichorn
// Disable Ambient Mode in Fullscreen - @arichornlover
%group gDisableAmbientMode
%hook YTCinematicContainerView
- (BOOL)watchFullScreenCinematicSupported {
@ -588,17 +631,15 @@ BOOL isAd(YTIElementRenderer *self) {
}
%end
/* DISABLED
// Hide double tap to seek overlay - @arichornlover
%hook YTInlinePlayerDoubleTapIndicatorView
- (void)layoutSubviews {
%orig;
if (IS_ENABLED(@"hideDoubleTapToSeekOverlay_enabled")) {
self._scrimOverlay.backgroundColor = [UIColor clearColor];
self.scrimOverlay.backgroundColor = [UIColor clearColor];
}
}
%end
*/
// Video Controls Overlay Options
// Hide CC / Hide Autoplay switch / Hide YTMusic Button / Enable Share Button / Enable Save to Playlist Button
@ -657,7 +698,7 @@ BOOL isAd(YTIElementRenderer *self) {
}
%end
// Hide Fullscreen Button - @arichornlover
// Hide Fullscreen Button - @arichornlover - PoomSmart's YouQuality tweak breaks when enabling this
%hook YTInlinePlayerBarContainerView
- (void)layoutSubviews {
%orig;
@ -839,7 +880,7 @@ BOOL isAd(YTIElementRenderer *self) {
}
%end
// Red Subscribe Button - @arichorn
// Red Subscribe Button - @arichornlover
%hook ELMContainerNode
- (void)setBackgroundColor:(id)color {
NSString *description = [self description];
@ -848,7 +889,7 @@ BOOL isAd(YTIElementRenderer *self) {
color = [UIColor redColor];
}
}
// Hide the Button Containers under the Video Player - 17.x.x and up - @arichorn
// Hide the Button Containers under the Video Player - 17.x.x and up - @arichornlover
if (IS_ENABLED(@"hideButtonContainers_enabled")) {
if ([description containsString:@"id.video.like.button"] ||
[description containsString:@"id.video.dislike.button"] ||
@ -919,7 +960,7 @@ BOOL isAd(YTIElementRenderer *self) {
}
%end
// Hide the (Connect / Thanks / Save / Report) Buttons under the Video Player - 17.x.x and up - @PoomSmart (inspired by @arichornlover) DEPRECATED METHOD ⚠️
// Hide the (Connect / Thanks / Save / Report) Buttons under the Video Player - 17.x.x and up - @arichornlover (inspired by @PoomSmart's version) DEPRECATED METHOD ⚠️
%hook _ASDisplayView
- (void)layoutSubviews {
%orig;
@ -1153,7 +1194,7 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
%end
%end
// Hide Videos in Fullscreen - @arichorn
// Hide Videos in Fullscreen - @arichornlover
%group gNoVideosInFullscreen
%hook YTFullScreenEngagementOverlayView
- (void)setRelatedVideosView:(id)view {
@ -1174,7 +1215,7 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
%end
%end
// iPhone Layout - @LillieH1000 & @arichorn
// iPhone Layout - @LillieH1000 & @arichornlover
%group giPhoneLayout
%hook UIDevice
- (long long)userInterfaceIdiom {
@ -1198,7 +1239,7 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
%end
%end
// Hide Indicators - @Dayanch96 & @arichorn
// Hide Indicators - @Dayanch96 & @arichornlover
%group gHideSubscriptionsNotificationBadge
%hook YTPivotBarIndicatorView
- (void)didMoveToWindow {

View file

@ -13,7 +13,15 @@
#define SWITCH_ITEM2(t, d, k) [sectionItems addObject:[YTSettingsSectionItemClass switchItemWithTitle:t titleDescription:d accessibilityIdentifier:nil switchOn:IS_ENABLED(k) switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:k];SHOW_RELAUNCH_YT_SNACKBAR;return YES;} settingItemId:0]]
static int contrastMode() {
return [[NSUserDefaults standardUserDefaults] integerForKey:@"lcm"];
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
NSComparisonResult result1 = [appVersion compare:@"17.33.2" options:NSNumericSearch];
NSComparisonResult result2 = [appVersion compare:@"17.38.10" options:NSNumericSearch];
if (result1 != NSOrderedAscending && result2 != NSOrderedDescending) {
return [[NSUserDefaults standardUserDefaults] integerForKey:@"lcm"];
} else {
return 0;
}
}
static int appVersionSpoofer() {
return [[NSUserDefaults standardUserDefaults] integerForKey:@"versionSpoofer"];
@ -99,6 +107,19 @@ extern NSBundle *uYouPlusBundle();
];
[sectionItems addObject:bug];
YTSettingsSectionItem *developers = [%c(YTSettingsSectionItem)
itemWithTitle:LOC(@"Support the Developers")
titleDescription:LOC(@"MiRO92, PoomSmart, level3tjg, BandarHL, julioverne & Galactic-dev")
accessibilityIdentifier:nil
detailTextBlock:^NSString *() {
return nil;
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/arichornlover/uYouEnhanced/blob/main/README.md#support-the-developers"]];
}
];
[sectionItems addObject:developers];
YTSettingsSectionItem *exitYT = [%c(YTSettingsSectionItem)
itemWithTitle:LOC(@"QUIT_YOUTUBE")
titleDescription:nil
@ -279,20 +300,53 @@ extern NSBundle *uYouPlusBundle();
# pragma mark - UI interface options
SECTION_HEADER(LOC(@"UI Interface Options"));
SWITCH_ITEM2(LOC(@"Low Contrast Mode"), LOC(@"This will lower the contrast of texts and buttons, similar to the old YouTube Interface. App restart is required."), @"lowContrastMode_enabled");
YTSettingsSectionItem *lowContrastMode = [%c(YTSettingsSectionItem)
itemWithTitle:@"Low Contrast Mode Selector"
accessibilityIdentifier:nil
detailTextBlock:^NSString *() {
switch (contrastMode()) {
case 1:
return LOC(@"Custom Color");
case 0:
default:
return LOC(@"Default");
YTSettingsSectionItem *lowContrastMode = [YTSettingsSectionItemClass
switchItemWithTitle:LOC(@"Low Contrast Mode")
titleDescription:LOC(@"This will lower the contrast of texts and buttons, similar to the old YouTube Interface. App restart is required.")
accessibilityIdentifier:nil
switchOn:IS_ENABLED(@"lowContrastMode_enabled")
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
if (enabled) {
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
NSComparisonResult result1 = [appVersion compare:@"17.33.2" options:NSNumericSearch];
NSComparisonResult result2 = [appVersion compare:@"17.38.10" options:NSNumericSearch];
if (result1 == NSOrderedAscending || result2 == NSOrderedDescending) {
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Incompatibile" message:[NSString stringWithFormat:@"LowContrastMode is only available for app versions v17.33.2-v17.38.10. \nYou are currently using v%@. \n\nWorkaround: if you want to use this then I recommend enabling \"Fix LowContrastMode\" Option.", appVersion] preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil];
[alert addAction:okAction];
[settingsViewController presentViewController:alert animated:YES completion:nil];
return NO;
}
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"lowContrastMode_enabled"];
[settingsViewController reloadData];
SHOW_RELAUNCH_YT_SNACKBAR;
return YES;
}
settingItemId:0
];
[sectionItems addObject:lowContrastMode];
YTSettingsSectionItem *lowContrastModeButton = [%c(YTSettingsSectionItem)
itemWithTitle:@"Low Contrast Mode Selector"
accessibilityIdentifier:nil
detailTextBlock:^NSString *() {
switch (contrastMode()) {
case 1:
return LOC(@"Custom Color");
case 0:
default:
return LOC(@"Default");
}
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
if (contrastMode() == 0) {
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Incompatibile" message:[NSString stringWithFormat:@"LowContrastMode is only available for app versions v17.33.2-v17.38.10. \nYou are currently using v%@. \n\nWorkaround: if you want to use this then I recommend enabling \"Fix LowContrastMode\" Option.", appVersion] preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil];
[alert addAction:okAction];
[settingsViewController presentViewController:alert animated:YES completion:nil];
return NO;
} else {
NSArray <YTSettingsSectionItem *> *rows = @[
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"Default") titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"lcm"];
@ -310,8 +364,9 @@ extern NSBundle *uYouPlusBundle();
[settingsViewController pushViewController:picker];
return YES;
}
];
[sectionItems addObject:lowContrastMode];
}
];
[sectionItems addObject:lowContrastModeButton];
SWITCH_ITEM2(LOC(@"Fix LowContrastMode"), LOC(@"This will fix the LowContrastMode functionality by Spoofing to YouTube v17.38.10. App restart is required."), @"fixLowContrastMode_enabled");
SWITCH_ITEM2(LOC(@"Disable Modern Buttons"), LOC(@"This will remove the new Modern / Chip Buttons in the YouTube App. but not all of them. App restart is required."), @"disableModernButtons_enabled");
SWITCH_ITEM2(LOC(@"Disable Rounded Corners on Hints"), LOC(@"This will make the Hints in the App to not have Rounded Corners. App restart is required."), @"disableRoundedHints_enabled");

View file

@ -22,7 +22,8 @@ jobs:
run: |
# git submodule add https://github.com/PoomSmart/FLEXing.git Tweaks/FLEXing
git submodule add https://github.com/dayanch96/uYouLocalization.git Tweaks/uYouLocalization
git submodule add https://github.com/arichorn/YTHoldForSpeed.git Tweaks/YTHoldForSpeed
git submodule add https://github.com/arichornlover/YTHoldForSpeed.git Tweaks/YTHoldForSpeed
git submodule add https://github.com/arichornlover/YouGroupSettings.git Tweaks/YouGroupSettings
git add .
git commit -m "added uYouEnhanced submodules"
git push origin
@ -65,6 +66,8 @@ jobs:
git add .
git submodule update --init --recursive --remote Tweaks/YouQuality
git add .
git submodule update --init --recursive --remote Tweaks/YouGroupSettings
git add .
git submodule update --init --recursive --remote Tweaks/YouTubeHeader
git add .
git submodule update --init --recursive --remote Tweaks/iSponsorBlock
@ -81,6 +84,7 @@ jobs:
ln -s ../Tweaks/MrBeastify/layout/Library/Application\ Support/MrBeastify.bundle MrBeastify.bundle
ln -s ../Tweaks/uYouLocalization/layout/Library/Application\ Support/uYouLocalization.bundle uYouLocalization.bundle
ln -s ../Tweaks/YTHoldForSpeed/layout/Library/Application\ Support/YTHoldForSpeed.bundle YTHoldForSpeed.bundle
ln -s ../Tweaks/YouGroupSettings/layout/Library/Application\ Support/YouGroupSettings.bundle YouGroupSettings.bundle
git add .
git commit -m "Added bundles"
git push origin
@ -93,6 +97,7 @@ jobs:
# rm -f MrBeastify.bundle
# rm -f uYouLocalization.bundle
# rm -f YTHoldForSpeed.bundle
# rm -f YouGroupSettings.bundle
# git add .
# git commit -m "Deleted bundles"
# git push origin

@ -1 +1 @@
Subproject commit 85b7c0a2e3ba540106439f9c109e4e4842f56c76
Subproject commit 9bf17bfdede78a236f5d67f780cf77709a9e5fdf

@ -0,0 +1 @@
Subproject commit 159da3e9569e8f156a73df80b153c57cccc1dad1