Merge pull request #589 from bhackel/fix/seek-overlay

Fix/seek overlay
This commit is contained in:
arichornlover 2024-05-02 23:07:03 -05:00 committed by GitHub
commit f0cc5be95c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 75 additions and 24 deletions

View file

@ -38,7 +38,7 @@ on:
type: string
create_release:
description: "Create a draft release"
default: true
default: false
required: false
type: boolean
upload_artifact:

View file

@ -60,6 +60,9 @@
// Hide Double tap to seek Overlay
@interface YTInlinePlayerDoubleTapIndicatorView : UIView
@property (nonatomic, strong) UIView *scrimOverlay;
@property(nonatomic, strong) CABasicAnimation *uYouEnhancedBlankAlphaAnimation;
@property(nonatomic, strong) CABasicAnimation *uYouEnhancedBlankColorAnimation;
- (CABasicAnimation *)uYouEnhancedGetBlankColorAnimation;
@end
// Hide Home Tab - @bhackel
@ -81,40 +84,40 @@
// Hide Premium Promo in You tab - @bhackel
@interface YTIIconThumbnailRenderer : GPBMessage
@property (nonatomic, strong) YTIIcon *icon;
- (bool)hasIcon;
@property (nonatomic, strong) YTIIcon *icon;
- (BOOL)hasIcon;
@end
@interface YTICompactListItemThumbnailSupportedRenderers : GPBMessage
@property (nonatomic, strong) YTIIconThumbnailRenderer *iconThumbnailRenderer;
- (bool)hasIconThumbnailRenderer;
@property (nonatomic, strong) YTIIconThumbnailRenderer *iconThumbnailRenderer;
- (BOOL)hasIconThumbnailRenderer;
@end
@interface YTICompactListItemRenderer : GPBMessage
@property (nonatomic, strong) YTICompactListItemThumbnailSupportedRenderers *thumbnail;
@property (nonatomic, strong) YTIFormattedString *title;
- (bool)hasThumbnail;
- (bool)hasTitle;
@property (nonatomic, strong) YTICompactListItemThumbnailSupportedRenderers *thumbnail;
@property (nonatomic, strong) YTIFormattedString *title;
- (BOOL)hasThumbnail;
- (BOOL)hasTitle;
@end
@interface YTIIcon (uYouEnhanced)
- (bool)hasIconType;
- (BOOL)hasIconType;
@end
@interface YTICompactLinkRenderer : GPBMessage
@property (nonatomic, strong) YTIIcon *icon;
@property (nonatomic, strong) YTIFormattedString *title;
@property (nonatomic, strong) YTICompactListItemThumbnailSupportedRenderers *thumbnail;
- (bool)hasIcon;
- (bool)hasThumbnail;
@property (nonatomic, strong) YTIIcon *icon;
@property (nonatomic, strong) YTIFormattedString *title;
@property (nonatomic, strong) YTICompactListItemThumbnailSupportedRenderers *thumbnail;
- (BOOL)hasIcon;
- (BOOL)hasThumbnail;
@end
@interface YTIItemSectionSupportedRenderers (uYouEnhanced)
@property(readonly, nonatomic) YTICompactLinkRenderer *compactLinkRenderer;
@property(readonly, nonatomic) YTICompactListItemRenderer *compactListItemRenderer;
- (bool)hasCompactLinkRenderer;
- (bool)hasCompactListItemRenderer;
@property(readonly, nonatomic) YTICompactLinkRenderer *compactLinkRenderer;
@property(readonly, nonatomic) YTICompactListItemRenderer *compactListItemRenderer;
- (BOOL)hasCompactLinkRenderer;
- (BOOL)hasCompactListItemRenderer;
@end
@interface YTAppCollectionViewController : YTInnerTubeCollectionViewController
- (void)uYouEnhancedFakePremiumModel:(YTISectionListRenderer *)model;
@end
@interface YTInnerTubeCollectionViewController (uYouEnhanced)
@property(readonly, nonatomic) YTISectionListRenderer *model;
@property(readonly, nonatomic) YTISectionListRenderer *model;
@end
// Disable Pull to Full for landscape videos - @bhackel

View file

@ -762,15 +762,60 @@ BOOL isAd(YTIElementRenderer *self) {
}
%end
// Hide double tap to seek overlay - @arichornlover
// Hide double tap to seek overlay - @arichornlover & @bhackel
%group gHideDoubleTapToSeekOverlay
%hook YTInlinePlayerDoubleTapIndicatorView
%property(nonatomic, strong) CABasicAnimation *uYouEnhancedBlankAlphaAnimation;
%property(nonatomic, strong) CABasicAnimation *uYouEnhancedBlankColorAnimation;
/**
* @return A clear color animation
*/
%new
- (CABasicAnimation *)uYouEnhancedGetBlankColorAnimation {
if (!self.uYouEnhancedBlankColorAnimation) {
// Create a new basic animation for the color property
self.uYouEnhancedBlankColorAnimation = [CABasicAnimation animationWithKeyPath:@"backgroundColor"];
// Set values to 0 to prevent visibility
self.uYouEnhancedBlankColorAnimation.fromValue = (id)[UIColor clearColor].CGColor;
self.uYouEnhancedBlankColorAnimation.toValue = (id)[UIColor clearColor].CGColor;
self.uYouEnhancedBlankColorAnimation.duration = 0.0;
self.uYouEnhancedBlankColorAnimation.fillMode = kCAFillModeForwards;
self.uYouEnhancedBlankColorAnimation.removedOnCompletion = NO;
}
return self.uYouEnhancedBlankColorAnimation;
}
// Replace all color animations with a clear one
- (CABasicAnimation *)fillColorAnimation {
return [self uYouEnhancedGetBlankColorAnimation];
}
- (CABasicAnimation *)earlyBackgroundColorAnimation {
return [self uYouEnhancedGetBlankColorAnimation];
}
- (CABasicAnimation *)laterBackgroundcolorAnimation {
return [self uYouEnhancedGetBlankColorAnimation];
}
// Replace the opacity animation with a clear one
- (CABasicAnimation *)alphaAnimation {
if (!self.uYouEnhancedBlankAlphaAnimation) {
// Create a new basic animation for the opacity property
self.uYouEnhancedBlankAlphaAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
// Set values to 0 to prevent visibility
self.uYouEnhancedBlankAlphaAnimation.fromValue = @0.0;
self.uYouEnhancedBlankAlphaAnimation.toValue = @0.0;
self.uYouEnhancedBlankAlphaAnimation.duration = 0.0;
self.uYouEnhancedBlankAlphaAnimation.fillMode = kCAFillModeForwards;
self.uYouEnhancedBlankAlphaAnimation.removedOnCompletion = NO;
}
return self.uYouEnhancedBlankAlphaAnimation;
}
// Remove the screen darkening effect
- (void)layoutSubviews {
%orig;
if (IS_ENABLED(@"hideDoubleTapToSeekOverlay_enabled")) {
self.frame = CGRectZero;
}
// Set the 0th subview (which darkens the screen) to hidden
self.subviews[0].hidden = YES;
}
%end
%end
// Disable pull to enter vertical/portrait fullscreen gesture - @bhackel
// This was introduced in version 19.XX
@ -1525,6 +1570,9 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
if (IS_ENABLED(@"hideHomeTab_enabled")) {
%init(gHideHomeTab);
}
if (IS_ENABLED(@"hideDoubleTapToSeekOverlay_enabled")) {
%init(gHideDoubleTapToSeekOverlay);
}
// YTNoModernUI - @arichorn
BOOL ytNoModernUIEnabled = IS_ENABLED(@"ytNoModernUI_enabled");