Merge pull request #611 from bhackel/fix/keep-remaining-time

Fix/Remaining Time
This commit is contained in:
Bryce Hackel 2024-05-08 23:21:15 -07:00 committed by GitHub
commit 524c6a4611
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 32 additions and 8 deletions

View file

@ -55,6 +55,9 @@
#define LOWCONTRASTMODE_CUTOFF_VERSION @"17.38.10" // LowContrastMode (v17.33.2-17.38.10)
// Always show remaining time in video player - @bhackel
@interface YTPlayerBarController : NSObject
@property(nonatomic, strong) YTInlinePlayerBarContainerView *playerBar;
@end
@interface YTInlinePlayerBarContainerView (uYouEnhanced)
@property(nonatomic, assign) BOOL shouldDisplayTimeRemaining;
@end

View file

@ -971,14 +971,34 @@ NSData *cellDividerData;
%end
// Always use remaining time in the video player - @bhackel
%hook YTInlinePlayerBarContainerView
// Modify constructor to enable the feature when it is done
- (instancetype)init {
YTInlinePlayerBarContainerView *playerBar = (YTInlinePlayerBarContainerView *)%orig;
if (playerBar && IS_ENABLED(@"alwaysShowRemainingTime_enabled")) {
playerBar.shouldDisplayTimeRemaining = YES;
%hook YTPlayerBarController
// When a new video is played, enable time remaining flag
- (void)setActiveSingleVideo:(id)arg1 {
%orig;
if (IS_ENABLED(@"alwaysShowRemainingTime_enabled")) {
// Get the player bar view
YTInlinePlayerBarContainerView *playerBar = self.playerBar;
if (playerBar) {
// Enable the time remaining flag
playerBar.shouldDisplayTimeRemaining = YES;
}
}
return playerBar;
}
%end
// Disable toggle time remaining - @bhackel
%hook YTInlinePlayerBarContainerView
- (void)setShouldDisplayTimeRemaining:(BOOL)arg1 {
if (IS_ENABLED(@"disableRemainingTime_enabled")) {
// Set true if alwaysShowRemainingTime
if (IS_ENABLED(@"alwaysShowRemainingTime_enabled")) {
%orig(YES);
} else {
%orig(NO);
}
return;
}
%orig;
}
%end

View file

@ -319,7 +319,8 @@ extern NSBundle *uYouPlusBundle();
SWITCH_ITEM2(LOC(@"STOCK_VOLUME_HUD"), LOC(@"STOCK_VOLUME_HUD_DESC"), @"stockVolumeHUD_enabled");
SWITCH_ITEM2(LOC(@"Disable pull-to-fullscreen gesture"), LOC(@"Disable the drag gesture to enter vertical fullscreen. Only applies to landscape videos."), @"disablePullToFull_enabled");
SWITCH_ITEM(LOC(@"Disable Double tap to skip chapter"), LOC(@"Disable the 2-finger double tap gesture that skips forward/backward by a chapter"), @"disableChapterSkip_enabled");
SWITCH_ITEM2(LOC(@"Always use remaining time"), LOC(@"Change the default to show time remaining in the player bar"), @"alwaysShowRemainingTime_enabled");
SWITCH_ITEM(LOC(@"Always use remaining time"), LOC(@"Change the default to show time remaining in the player bar"), @"alwaysShowRemainingTime_enabled");
SWITCH_ITEM(LOC(@"Disable toggle time remaining"), LOC(@"Disables changing time elapsed to time remaining. Use with other setting to always show remaining time."), @"disableRemainingTime_enabled");
# pragma mark - Video controls overlay options
SECTION_HEADER(LOC(@"VIDEO_PLAYER_OPTIONS"));