Compare commits
20
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b7328028aa | ||
|
|
79f058f354 | ||
|
|
26b5912495 | ||
|
|
f029b9a372 | ||
|
|
ecf3107846 | ||
|
|
93397e48d7 | ||
|
|
b83081fd57 | ||
|
|
c74b5203f7 | ||
|
|
920b7c4882 | ||
|
|
d469f31270 | ||
|
|
f910c416ef | ||
|
|
fb0e5073ae | ||
|
|
f9e05fee77 | ||
|
|
ec7eec660b | ||
|
|
2e6c19c060 | ||
|
|
bb3b8ed310 | ||
|
|
b94a5cc967 | ||
|
|
8b50a3c1b7 | ||
|
|
025dc4d2cb | ||
|
|
9860fdb4e8 |
@@ -1,12 +1,18 @@
|
|||||||
#import "Tweaks/YouTubeHeader/YTPlayerViewController.h"
|
#import "Tweaks/YouTubeHeader/YTPlayerViewController.h"
|
||||||
|
|
||||||
|
// IAmYouTube
|
||||||
|
@interface SSOConfiguration : NSObject
|
||||||
|
@end
|
||||||
|
|
||||||
|
// uYouPlus
|
||||||
|
@interface YTMainAppControlsOverlayView: UIView
|
||||||
|
@end
|
||||||
|
|
||||||
@interface YTPlaylistHeaderViewController : UIViewController
|
@interface YTPlaylistHeaderViewController : UIViewController
|
||||||
@property (nonatomic, strong, readwrite) UIView *downloadsButton;
|
@property (nonatomic, strong, readwrite) UIView *downloadsButton;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface ASWAppSwitcherCollectionViewCell: UIView
|
// BigYTMiniPlayer
|
||||||
@end
|
|
||||||
|
|
||||||
@interface YTMainAppVideoPlayerOverlayView : UIView
|
@interface YTMainAppVideoPlayerOverlayView : UIView
|
||||||
- (UIViewController *)_viewControllerForAncestor;
|
- (UIViewController *)_viewControllerForAncestor;
|
||||||
@end
|
@end
|
||||||
@@ -14,10 +20,15 @@
|
|||||||
@interface YTWatchMiniBarView : UIView
|
@interface YTWatchMiniBarView : UIView
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
// YTAutoFullScreen
|
||||||
@interface YTPlayerViewController (YTAFS)
|
@interface YTPlayerViewController (YTAFS)
|
||||||
- (void)autoFullscreen;
|
- (void)autoFullscreen;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
// OLED Darkmode
|
||||||
|
@interface ASWAppSwitcherCollectionViewCell: UIView
|
||||||
|
@end
|
||||||
|
|
||||||
@interface ASScrollView : UIView
|
@interface ASScrollView : UIView
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -34,4 +45,7 @@
|
|||||||
@end
|
@end
|
||||||
|
|
||||||
@interface SponsorBlockSettingsController : UITableViewController
|
@interface SponsorBlockSettingsController : UITableViewController
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface _ASDisplayView : UIView
|
||||||
@end
|
@end
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
- [HASHBANG Productions](https://github.com/hbang) for [Alderis Color Picker](https://github.com/hbang/Alderis) - a dependency of iSponsorBlock.
|
- [HASHBANG Productions](https://github.com/hbang) for [Alderis Color Picker](https://github.com/hbang/Alderis) - a dependency of iSponsorBlock.
|
||||||
|
|
||||||
- [PoomSmart](https://twitter.com/poomsmart) - the developer of many tweaks used by uYouPlus, include: [NoYTPremium](https://github.com/PoomSmart/NoYTPremium/), [YouRememberCaption](https://www.ios-repo-updates.com/repository/poomsmart/package/com.ps.youremembercaption/), [YTClassicVideoQuality](https://poomsmart.github.io/repo/depictions/ytclassicvideoquality.html), [YTNoCheckLocalNetwork](https://poomsmart.github.io/repo/depictions/ytnochecklocalnetwork.html), [YTSystemAppearance](https://poomsmart.github.io/repo/depictions/ytsystemappearance.html), [YTAutoFullScreen](https://github.com/PoomSmart/YTAutoFullScreen/), [YTReExplore](https://github.com/PoomSmart/YTReExplore/), [YTUHD](https://poomsmart.github.io/repo/depictions/ytuhd.html), [YouPiP](https://poomsmart.github.io/repo/depictions/youpip.html), and [Return YouTube Dislike](https://github.com/PoomSmart/Return-YouTube-Dislikes)
|
- [PoomSmart](https://twitter.com/poomsmart) - the developer of many tweaks used by uYouPlus, include: [NoYTPremium](https://github.com/PoomSmart/NoYTPremium/), [YouRememberCaption](https://www.ios-repo-updates.com/repository/poomsmart/package/com.ps.youremembercaption/), [YTClassicVideoQuality](https://poomsmart.github.io/repo/depictions/ytclassicvideoquality.html), [YTNoCheckLocalNetwork](https://poomsmart.github.io/repo/depictions/ytnochecklocalnetwork.html), [YTSystemAppearance](https://poomsmart.github.io/repo/depictions/ytsystemappearance.html), [YTAutoFullScreen](https://github.com/PoomSmart/YTAutoFullScreen/), [YTReExplore](https://github.com/PoomSmart/YTReExplore/), [IAmYouTube](https://github.com/PoomSmart/IAmYouTube), [YTUHD](https://poomsmart.github.io/repo/depictions/ytuhd.html), [YouPiP](https://poomsmart.github.io/repo/depictions/youpip.html), and [Return YouTube Dislike](https://github.com/PoomSmart/Return-YouTube-Dislikes)
|
||||||
|
|
||||||
- [level3tjg](https://twitter.com/level3tjg) - for [YTNoHoverCards](https://github.com/level3tjg/YTNoHoverCards) and [YTMiniplayerEnabler](https://github.com/level3tjg/YTMiniplayerEnabler).
|
- [level3tjg](https://twitter.com/level3tjg) - for [YTNoHoverCards](https://github.com/level3tjg/YTNoHoverCards) and [YTMiniplayerEnabler](https://github.com/level3tjg/YTMiniplayerEnabler).
|
||||||
|
|
||||||
@@ -78,21 +78,21 @@
|
|||||||
|
|
||||||
- My official AtlStore repo: https://qnblackcat.github.io/AltStore/
|
- My official AtlStore repo: https://qnblackcat.github.io/AltStore/
|
||||||
|
|
||||||
- [Open in AltStore (v17.19.2-2.1)](https://tinyurl.com/2p9e76h2) - It will take a while to install because AltStore needs to download the IPA.
|
- [Open in AltStore (v17.22.3-2.1)](https://tinyurl.com/4v5933pu) - It will take a while to install because AltStore needs to download the IPA.
|
||||||
|
|
||||||
- Version info: _(last update: May 16)_
|
- Version info: _(last update: June 06)_
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary> ▶︎ Expand</summary>
|
<summary>Expand</summary>
|
||||||
|
|
||||||
| **Tweaks/App** | **Version** | **Open source** |
|
| **Tweaks/App** | **Version** | **Open source** |
|
||||||
| :------------: | :----------:| :-------------: |
|
| :------------: | :----------:| :-------------: |
|
||||||
| **YouTube** | 17.19.2 | ✖︎ |
|
| **YouTube** | 17.22.3 | ✖︎ |
|
||||||
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | 2.1 | ✖︎ |
|
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | 2.1 | ✖︎ |
|
||||||
| [Open in YouTube](https://github.com/CokePokes/YoutubeExtensions/) | 1.2 | ✖︎ |
|
| [Open in YouTube](https://github.com/CokePokes/YoutubeExtensions/) | 1.2 | ✖︎ |
|
||||||
| **Return YouTube Dislike** | 1.6.4 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
| **Return YouTube Dislike** | 1.6.5 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
||||||
| **iSponsorBlock** | 1.0-14 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
| **iSponsorBlock** | 1.0-14 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
||||||
| **Alderis Color Picker** | 1.1.2| [✔︎](https://github.com/hbang/Alderis) |
|
| **Alderis Color Picker** | 1.2| [✔︎](https://github.com/hbang/Alderis) |
|
||||||
| **NoYTPremium** | 1.0.4 | [✔︎](https://github.com/PoomSmart/NoYTPremium/) |
|
| **NoYTPremium** | 1.0.4 | [✔︎](https://github.com/PoomSmart/NoYTPremium/) |
|
||||||
| **YouRememberCaption** | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/youremembercaption.html) |
|
| **YouRememberCaption** | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/youremembercaption.html) |
|
||||||
| **YTClassicVideoQuality** | 1.0.1 | [✔︎](https://github.com/PoomSmart/YTClassicVideoQuality) |
|
| **YTClassicVideoQuality** | 1.0.1 | [✔︎](https://github.com/PoomSmart/YTClassicVideoQuality) |
|
||||||
@@ -100,7 +100,8 @@
|
|||||||
| **YTNoHoverCards** | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) |
|
| **YTNoHoverCards** | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) |
|
||||||
| **YTSystemAppearance** | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/ytsystemappearance.html) |
|
| **YTSystemAppearance** | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/ytsystemappearance.html) |
|
||||||
| **YTUHD** | 1.2.7 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
| **YTUHD** | 1.2.7 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
||||||
| **YouPiP** | 1.7.0 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
| **YouPiP** | 1.7.1 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
||||||
|
| **IAmYouTube** | 1.2.0 | [✔︎](https://github.com/PoomSmart/IAmYouTube) |
|
||||||
| **YTSpeed** | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) |
|
| **YTSpeed** | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) |
|
||||||
| **YTAutoFullScreen** | 1.0.3 | [✔︎](https://github.com/PoomSmart/YTAutoFullScreen/) |
|
| **YTAutoFullScreen** | 1.0.3 | [✔︎](https://github.com/PoomSmart/YTAutoFullScreen/) |
|
||||||
| **YTReExplore** | 1.0.2 | [✔︎](https://github.com/PoomSmart/YTReExplore) |
|
| **YTReExplore** | 1.0.2 | [✔︎](https://github.com/PoomSmart/YTReExplore) |
|
||||||
@@ -116,7 +117,7 @@ See [Installation - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Installati
|
|||||||
# Support the developers
|
# Support the developers
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>▶︎ MiRO92</summary>
|
<summary>MiRO92</summary>
|
||||||
|
|
||||||
- CashApp: https://cash.app/$MiRO92M
|
- CashApp: https://cash.app/$MiRO92M
|
||||||
|
|
||||||
@@ -124,14 +125,14 @@ See [Installation - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Installati
|
|||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>▶︎ Poomsmart</summary>
|
<summary>Poomsmart</summary>
|
||||||
|
|
||||||
- Paypal: https://poomsmart.github.io/
|
- Paypal: https://poomsmart.github.io/
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>▶︎ Galactic-dev</summary>
|
<summary>Galactic-dev</summary>
|
||||||
|
|
||||||
- Paypal: https://www.paypal.com/paypalme/DBrett684
|
- Paypal: https://www.paypal.com/paypalme/DBrett684
|
||||||
|
|
||||||
|
|||||||
+12
-3
@@ -19,6 +19,7 @@ extern BOOL hideCC();
|
|||||||
extern BOOL hideAutoplaySwitch();
|
extern BOOL hideAutoplaySwitch();
|
||||||
extern BOOL castConfirm();
|
extern BOOL castConfirm();
|
||||||
extern BOOL ytMiniPlayer();
|
extern BOOL ytMiniPlayer();
|
||||||
|
extern BOOL hidePreviousAndNextButton();
|
||||||
|
|
||||||
// Settings
|
// Settings
|
||||||
%hook YTAppSettingsPresentationData
|
%hook YTAppSettingsPresentationData
|
||||||
@@ -30,14 +31,22 @@ extern BOOL ytMiniPlayer();
|
|||||||
[mutableOrder insertObject:@(uYouPlusSection) atIndex:insertIndex + 1];
|
[mutableOrder insertObject:@(uYouPlusSection) atIndex:insertIndex + 1];
|
||||||
return mutableOrder;
|
return mutableOrder;
|
||||||
}
|
}
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%hook YTSettingsSectionItemManager
|
%hook YTSettingsSectionItemManager
|
||||||
%new - (void)updateuYouPlusSectionWithEntry:(id)entry {
|
%new - (void)updateuYouPlusSectionWithEntry:(id)entry {
|
||||||
YTSettingsViewController *delegate = [self valueForKey:@"_dataDelegate"];
|
YTSettingsViewController *delegate = [self valueForKey:@"_dataDelegate"];
|
||||||
|
|
||||||
YTSettingsSectionItem *ytMiniPlayer = [[%c(YTSettingsSectionItem) alloc] initWithTitle:@"Enable the Miniplayer for all YouTube videos" titleDescription:@""];
|
YTSettingsSectionItem *hidePreviousAndNextButton = [[%c(YTSettingsSectionItem) alloc] initWithTitle:@"Hide Previous and Next button" titleDescription:@"Hide Previous and Next button in video controls overlay."];
|
||||||
|
hidePreviousAndNextButton.hasSwitch = YES;
|
||||||
|
hidePreviousAndNextButton.switchVisible = YES;
|
||||||
|
hidePreviousAndNextButton.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"hidePreviousAndNextButton_enabled"];
|
||||||
|
hidePreviousAndNextButton.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hidePreviousAndNextButton_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *ytMiniPlayer = [[%c(YTSettingsSectionItem) alloc] initWithTitle:@"Enable the Miniplayer for all YouTube videos" titleDescription:@"Kid videos for example."];
|
||||||
ytMiniPlayer.hasSwitch = YES;
|
ytMiniPlayer.hasSwitch = YES;
|
||||||
ytMiniPlayer.switchVisible = YES;
|
ytMiniPlayer.switchVisible = YES;
|
||||||
ytMiniPlayer.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"ytMiniPlayer_enabled"];
|
ytMiniPlayer.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"ytMiniPlayer_enabled"];
|
||||||
@@ -136,7 +145,7 @@ extern BOOL ytMiniPlayer();
|
|||||||
return YES;
|
return YES;
|
||||||
};
|
};
|
||||||
|
|
||||||
NSMutableArray <YTSettingsSectionItem *> *sectionItems = [NSMutableArray arrayWithArray:@[autoFull, castConfirm, ytMiniPlayer, hideAutoplaySwitch, hideCC, hideHUD, hoverCardItem, bigYTMiniPlayer, oledKeyBoard, oledDarkMode,reExplore]];
|
NSMutableArray <YTSettingsSectionItem *> *sectionItems = [NSMutableArray arrayWithArray:@[autoFull, castConfirm, ytMiniPlayer, hideAutoplaySwitch, hideCC, hideHUD, hidePreviousAndNextButton, hoverCardItem, bigYTMiniPlayer, oledKeyBoard, oledDarkMode,reExplore]];
|
||||||
[delegate setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouPlus" titleDescription:nil headerHidden:NO];
|
[delegate setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouPlus" titleDescription:nil headerHidden:NO];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
Submodule Tweaks/Alderis updated: f8b577ebf7...2c4304d844
+1
-1
Submodule Tweaks/PSHeader updated: 352ca32523...ac9324f441
Submodule Tweaks/Return-YouTube-Dislikes updated: b16a511648...5f86ef7d91
+1
-1
Submodule Tweaks/YTUHD updated: 9916e88bc5...00c5e38ca9
+1
-1
Submodule Tweaks/YouPiP updated: e566dfa92b...ebafa880c1
+1
-1
Submodule Tweaks/YouTubeHeader updated: e9ef2d5a18...14b3975371
+1
-1
Submodule Tweaks/iSponsorBlock updated: 2cd11c4130...a936217c38
+98
-31
@@ -1,9 +1,9 @@
|
|||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <objc/runtime.h>
|
#import <objc/runtime.h>
|
||||||
|
#import <dlfcn.h>
|
||||||
#import "Header.h"
|
#import "Header.h"
|
||||||
#import "Tweaks/YouTubeHeader/YTVideoQualitySwitchOriginalController.h"
|
#import "Tweaks/YouTubeHeader/YTVideoQualitySwitchOriginalController.h"
|
||||||
#import "Tweaks/YouTubeHeader/YTSettingsSectionItem.h"
|
|
||||||
#import "Tweaks/YouTubeHeader/YTPlayerViewController.h"
|
#import "Tweaks/YouTubeHeader/YTPlayerViewController.h"
|
||||||
#import "Tweaks/YouTubeHeader/YTWatchController.h"
|
#import "Tweaks/YouTubeHeader/YTWatchController.h"
|
||||||
#import "Tweaks/YouTubeHeader/YTIGuideResponse.h"
|
#import "Tweaks/YouTubeHeader/YTIGuideResponse.h"
|
||||||
@@ -13,6 +13,9 @@
|
|||||||
#import "Tweaks/YouTubeHeader/YTIBrowseRequest.h"
|
#import "Tweaks/YouTubeHeader/YTIBrowseRequest.h"
|
||||||
#import "Tweaks/YouTubeHeader/YTCommonColorPalette.h"
|
#import "Tweaks/YouTubeHeader/YTCommonColorPalette.h"
|
||||||
|
|
||||||
|
#define YT_BUNDLE_ID @"com.google.ios.youtube"
|
||||||
|
#define YT_NAME @"YouTube"
|
||||||
|
|
||||||
BOOL hideHUD() {
|
BOOL hideHUD() {
|
||||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"hideHUD_enabled"];
|
return [[NSUserDefaults standardUserDefaults] boolForKey:@"hideHUD_enabled"];
|
||||||
}
|
}
|
||||||
@@ -43,6 +46,9 @@ BOOL hideCC() {
|
|||||||
BOOL hideAutoplaySwitch() {
|
BOOL hideAutoplaySwitch() {
|
||||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"hideAutoplaySwitch_enabled"];
|
return [[NSUserDefaults standardUserDefaults] boolForKey:@"hideAutoplaySwitch_enabled"];
|
||||||
}
|
}
|
||||||
|
BOOL hidePreviousAndNextButton() {
|
||||||
|
return [[NSUserDefaults standardUserDefaults] boolForKey:@"hidePreviousAndNextButton_enabled"];
|
||||||
|
}
|
||||||
BOOL castConfirm() {
|
BOOL castConfirm() {
|
||||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"castConfirm_enabled"];
|
return [[NSUserDefaults standardUserDefaults] boolForKey:@"castConfirm_enabled"];
|
||||||
}
|
}
|
||||||
@@ -69,6 +75,14 @@ BOOL ytMiniPlayer() {
|
|||||||
if (hideAutoplaySwitch()) {}
|
if (hideAutoplaySwitch()) {}
|
||||||
else { return %orig; }
|
else { return %orig; }
|
||||||
}
|
}
|
||||||
|
- (void)layoutSubviews {
|
||||||
|
if (hidePreviousAndNextButton()) {
|
||||||
|
MSHookIvar<YTMainAppControlsOverlayView *>(self, "_nextButton").hidden = YES;
|
||||||
|
MSHookIvar<YTMainAppControlsOverlayView *>(self, "_previousButton").hidden = YES;
|
||||||
|
%orig;
|
||||||
|
}
|
||||||
|
return %orig;
|
||||||
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Hide HUD Messages
|
// Hide HUD Messages
|
||||||
@@ -133,8 +147,8 @@ BOOL ytMiniPlayer() {
|
|||||||
rootViewController = [rootViewController presentedViewController];
|
rootViewController = [rootViewController presentedViewController];
|
||||||
}
|
}
|
||||||
[rootViewController presentViewController:alertController animated:YES completion:nil];
|
[rootViewController presentViewController:alertController animated:YES completion:nil];
|
||||||
}
|
} else { return %orig; }
|
||||||
return %orig;
|
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
@@ -191,6 +205,11 @@ BOOL ytMiniPlayer() {
|
|||||||
- (void)showSurveyWithRenderer:(id)arg1 surveyParentResponder:(id)arg2 {}
|
- (void)showSurveyWithRenderer:(id)arg1 surveyParentResponder:(id)arg2 {}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
// Enable Shorts scroll bar - level3tjg - https://reddit.com/r/jailbreak/comments/v29yvk/_/iasl1l0/
|
||||||
|
%hook YTReelPlayerViewControllerSub
|
||||||
|
- (BOOL)shouldEnablePlayerBar { return YES; }
|
||||||
|
%end
|
||||||
|
|
||||||
// Hide the download playlist button of uYou cuz it's broken
|
// Hide the download playlist button of uYou cuz it's broken
|
||||||
%hook YTPlaylistHeaderViewController
|
%hook YTPlaylistHeaderViewController
|
||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
@@ -199,6 +218,69 @@ BOOL ytMiniPlayer() {
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
// IAmYouTube - https://github.com/PoomSmart/IAmYouTube/
|
||||||
|
%hook YTVersionUtils
|
||||||
|
+ (NSString *)appName { return YT_NAME; }
|
||||||
|
+ (NSString *)appID { return YT_BUNDLE_ID; }
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook GCKBUtils
|
||||||
|
+ (NSString *)appIdentifier { return YT_BUNDLE_ID; }
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook GPCDeviceInfo
|
||||||
|
+ (NSString *)bundleId { return YT_BUNDLE_ID; }
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook OGLBundle
|
||||||
|
+ (NSString *)shortAppName { return YT_NAME; }
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook GVROverlayView
|
||||||
|
+ (NSString *)appName { return YT_NAME; }
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook OGLPhenotypeFlagServiceImpl
|
||||||
|
- (NSString *)bundleId { return YT_BUNDLE_ID; }
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook SSOConfiguration
|
||||||
|
- (id)initWithClientID:(id)clientID supportedAccountServices:(id)supportedAccountServices {
|
||||||
|
self = %orig;
|
||||||
|
[self setValue:YT_NAME forKey:@"_shortAppName"];
|
||||||
|
[self setValue:YT_BUNDLE_ID forKey:@"_applicationIdentifier"];
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook NSBundle
|
||||||
|
- (NSString *)bundleIdentifier {
|
||||||
|
NSArray *address = [NSThread callStackReturnAddresses];
|
||||||
|
Dl_info info = {0};
|
||||||
|
if (dladdr((void *)[address[2] longLongValue], &info) == 0)
|
||||||
|
return %orig;
|
||||||
|
NSString *path = [NSString stringWithUTF8String:info.dli_fname];
|
||||||
|
if ([path hasPrefix:NSBundle.mainBundle.bundlePath])
|
||||||
|
return YT_BUNDLE_ID;
|
||||||
|
return %orig;
|
||||||
|
}
|
||||||
|
- (id)objectForInfoDictionaryKey:(NSString *)key {
|
||||||
|
if ([key isEqualToString:@"CFBundleIdentifier"])
|
||||||
|
return YT_BUNDLE_ID;
|
||||||
|
if ([key isEqualToString:@"CFBundleDisplayName"] || [key isEqualToString:@"CFBundleName"])
|
||||||
|
return YT_NAME;
|
||||||
|
return %orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
// Workaround for issue #54
|
||||||
|
// %hook YTMainAppVideoPlayerOverlayViewController
|
||||||
|
// - (void)updateRelatedVideos {
|
||||||
|
// if ([[NSUserDefaults standardUserDefaults] boolForKey:@"relatedVideosAtTheEndOfYTVideos"] == NO) {}
|
||||||
|
// else { return %orig; }
|
||||||
|
// }
|
||||||
|
// %end
|
||||||
|
|
||||||
// OLED dark mode by BandarHL
|
// OLED dark mode by BandarHL
|
||||||
UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
||||||
|
|
||||||
@@ -308,22 +390,11 @@ UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
|||||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
||||||
%orig;
|
%orig;
|
||||||
self.tableView.backgroundColor = oledColor;
|
self.tableView.backgroundColor = oledColor;
|
||||||
} else {
|
} else { return %orig; }
|
||||||
return %orig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// uYou & YT player, and downloading view controller
|
|
||||||
%hook _LNPopupBarContentView
|
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
if (isDarkMode()) {
|
|
||||||
return %orig([UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.9]);
|
|
||||||
}
|
|
||||||
return %orig;
|
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
// YT player
|
||||||
%hook YTWatchMiniBarView
|
%hook YTWatchMiniBarView
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
- (void)setBackgroundColor:(UIColor *)color {
|
||||||
if (isDarkMode()) {
|
if (isDarkMode()) {
|
||||||
@@ -377,6 +448,15 @@ UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
%hook _ASDisplayView // comment reply under videos
|
||||||
|
- (void)didMoveToWindow {
|
||||||
|
if (isDarkMode() && [self.accessibilityIdentifier isEqualToString:@"id.elements.components.comment_composer"]) {
|
||||||
|
%orig;
|
||||||
|
self.backgroundColor = oledColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
%hook YTFormattedStringLabel // YT is werid...
|
%hook YTFormattedStringLabel // YT is werid...
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
- (void)setBackgroundColor:(UIColor *)color {
|
||||||
if (isDarkMode()) {
|
if (isDarkMode()) {
|
||||||
@@ -408,9 +488,7 @@ UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
|||||||
%hook YTCollectionSeparatorView
|
%hook YTCollectionSeparatorView
|
||||||
- (void)didMoveToWindow {
|
- (void)didMoveToWindow {
|
||||||
if (isDarkMode()) {}
|
if (isDarkMode()) {}
|
||||||
else {
|
else { return %orig; }
|
||||||
return %orig();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
@@ -434,22 +512,11 @@ UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
|||||||
%hook ASWAppSwitcherCollectionViewCell
|
%hook ASWAppSwitcherCollectionViewCell
|
||||||
- (void)didMoveToWindow {
|
- (void)didMoveToWindow {
|
||||||
if (isDarkMode()) {
|
if (isDarkMode()) {
|
||||||
%orig;
|
|
||||||
self.subviews[1].backgroundColor = oledColor;
|
self.subviews[1].backgroundColor = oledColor;
|
||||||
|
%orig;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// this sucks :/
|
|
||||||
// %hook UIView
|
|
||||||
// - (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
// if (isDarkMode()) {
|
|
||||||
// if ([self.nextResponder isKindOfClass:%c(YTHUDMessageView)]) { color = oledColor; }
|
|
||||||
// %orig;
|
|
||||||
// }
|
|
||||||
// return %orig;
|
|
||||||
// }
|
|
||||||
// %end
|
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%group gOLEDKB // OLED keyboard by @ichitaso <3 - http://gist.github.com/ichitaso/935100fd53a26f18a9060f7195a1be0e
|
%group gOLEDKB // OLED keyboard by @ichitaso <3 - http://gist.github.com/ichitaso/935100fd53a26f18a9060f7195a1be0e
|
||||||
|
|||||||
Reference in New Issue
Block a user