This commit is contained in:
Nguyễn Đạt 2022-09-28 10:52:39 +07:00 committed by GitHub
parent b56461a439
commit 2657f8ca7c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -881,9 +881,7 @@ static void replaceTab(YTIGuideResponse *response) {
%end
%end
#define UNSUPPORTED_DEVICES @[@"iPhone14,3", @"iPhone14,6", @"iPhone14,8"]
#define THRESHOLD 1.99
// DontEatMyContent - @therealFoxster: https://github.com/therealFoxster/DontEatMyContent
double aspectRatio = 16/9;
bool zoomedToFill = false;
@ -892,7 +890,6 @@ NSLayoutConstraint *widthConstraint, *heightConstraint, *centerXConstraint, *cen
%group gDontEatMyContent
%hook YTPlayerViewController
- (void)viewDidAppear:(BOOL)animated {
YTPlayerView *playerView = [self playerView];
UIView *renderingViewContainer = MSHookIvar<UIView *>(playerView, "_renderingViewContainer");
@ -904,7 +901,7 @@ NSLayoutConstraint *widthConstraint, *heightConstraint, *centerXConstraint, *cen
heightConstraint = [renderingView.heightAnchor constraintEqualToAnchor:renderingViewContainer.safeAreaLayoutGuide.heightAnchor constant:constant];
centerXConstraint = [renderingView.centerXAnchor constraintEqualToAnchor:renderingViewContainer.centerXAnchor];
centerYConstraint = [renderingView.centerYAnchor constraintEqualToAnchor:renderingViewContainer.centerYAnchor];
// playerView.backgroundColor = [UIColor greenColor];
// renderingViewContainer.backgroundColor = [UIColor redColor];
// renderingView.backgroundColor = [UIColor blueColor];
@ -917,16 +914,17 @@ NSLayoutConstraint *widthConstraint, *heightConstraint, *centerXConstraint, *cen
} else {
center();
}
%orig(animated);
}
- (void)didPressToggleFullscreen {
YTMainAppVideoPlayerOverlayViewController *activeVideoPlayerOverlay = [self activeVideoPlayerOverlay];
if (![activeVideoPlayerOverlay isFullscreen]) // Entering fullscreen
activate();
else // Exiting fullscreen
deactivate();
%orig;
}
- (void)didSwipeToEnterFullscreen {
@ -958,67 +956,66 @@ NSLayoutConstraint *widthConstraint, *heightConstraint, *centerXConstraint, *cen
zoomedToFill = true;
deactivate();
}
%orig(pinchGestureRecognizer);
}
- (void)flashAndHideSnapIndicator {}
// https://github.com/lgariv/UniZoom/blob/master/Tweak.xm
- (void)setSnapIndicatorVisible:(bool)arg1 {
%orig(NO);
}
%end
%end
%end // gDontEatMyContent
// DontEatMycontent - detecting device model
// https://stackoverflow.com/a/11197770/19227228
NSString* deviceName() {
struct utsname systemInfo;
uname(&systemInfo);
return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
}
NSString* deviceName() {
struct utsname systemInfo;
uname(&systemInfo);
return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
}
BOOL isDeviceSupported() {
NSString *identifier = deviceName();
NSArray *unsupportedDevices = UNSUPPORTED_DEVICES;
BOOL isDeviceSupported() {
NSString *identifier = deviceName();
NSArray *unsupportedDevices = UNSUPPORTED_DEVICES;
for (NSString *device in unsupportedDevices) {
if ([device isEqualToString:identifier]) {
return NO;
}
}
for (NSString *device in unsupportedDevices) {
if ([device isEqualToString:identifier]) {
return NO;
}
}
if ([identifier containsString:@"iPhone"]) {
NSString *model = [identifier stringByReplacingOccurrencesOfString:@"iPhone" withString:@""];
model = [model stringByReplacingOccurrencesOfString:@"," withString:@"."];
if ([identifier isEqualToString:@"iPhone13,1"]) { // iPhone 12 mini
return YES;
} else if ([model floatValue] >= 14.0) { // iPhone 13 series and newer
return YES;
} else return NO;
} else return NO;
}
if ([identifier containsString:@"iPhone"]) {
NSString *model = [identifier stringByReplacingOccurrencesOfString:@"iPhone" withString:@""];
model = [model stringByReplacingOccurrencesOfString:@"," withString:@"."];
if ([identifier isEqualToString:@"iPhone13,1"]) { // iPhone 12 mini
return YES;
} else if ([model floatValue] >= 14.0) { // iPhone 13 series and newer
return YES;
} else return NO;
} else return NO;
}
void activate() {
if (aspectRatio < THRESHOLD || zoomedToFill) return;
// NSLog(@"activate");
center();
renderingView.translatesAutoresizingMaskIntoConstraints = NO;
widthConstraint.active = YES;
heightConstraint.active = YES;
}
void activate() {
if (aspectRatio < THRESHOLD || zoomedToFill) return;
// NSLog(@"activate");
center();
renderingView.translatesAutoresizingMaskIntoConstraints = NO;
widthConstraint.active = YES;
heightConstraint.active = YES;
}
void deactivate() {
// NSLog(@"deactivate");
center();
renderingView.translatesAutoresizingMaskIntoConstraints = YES;
widthConstraint.active = NO;
heightConstraint.active = NO;
}
void deactivate() {
// NSLog(@"deactivate");
center();
renderingView.translatesAutoresizingMaskIntoConstraints = YES;
widthConstraint.active = NO;
heightConstraint.active = NO;
}
void center() {
centerXConstraint.active = YES;
centerYConstraint.active = YES;
}
void center() {
centerXConstraint.active = YES;
centerYConstraint.active = YES;
}
// iOS 16 uYou crash fix - @level3tjg: https://github.com/qnblackcat/uYouPlus/pull/224
%group iOS16
@ -1063,7 +1060,7 @@ NSLayoutConstraint *widthConstraint, *heightConstraint, *centerXConstraint, *cen
if (replacePreviousAndNextButton()) {
%init(gReplacePreviousAndNextButton);
}
if (dontEatMyContent() && isDeviceSupported()) {
if (dontEatMyContent() && isDeviceSupported()) {
%init(gDontEatMyContent);
}
if (@available(iOS 16, *)) {