luxlabs header browser preview


@class NSDictionary, UIViewController, VideosExtrasPresenter, AVPlayerViewController, NSMutableArray, VUIDownloadDataSource, VUIPostPlayView, UIImage, NSString, NSArray, VUIProductPlacementView, VUIPlayer, VUINowPlayingFeatureMonitor, NSObject, UIButton, NSLayoutConstraint, VUIVideoAdvisoryView, VideosExtrasContext, UIAlertController, TVPStateMachine, NSDate, UIActivityItemsConfiguration, VUIVideoAdvisoryLogoImageDownloader, NSNumber;
@protocol VUIControllerPresenter, VUIMultiPlayerDetailsViewController, UIActivityItemsConfigurationReading, TVPMediaItem, VUIPlaybackContainerViewController, VUIMultiPlayerViewController, OS_dispatch_queue, VUINowPlayingTabControllerDelegate;

@interface VUIPlaybackManager : NSObject <AVPlayerViewControllerDelegatePrivate, UIActivityItemsConfigurationProviding, VideosExtrasContextDelegate, VUINowPlayingFeatureMonitorDelegate, VUIPostPlayViewDelegate, VUIPlaybackContainerViewControllerDelegate, VUIMultiPlayerViewControllerDelegate, VUINowPlayingTabControllerDelegate, VUIPlaybackTabManagerDelegate>

@property (class, readonly, nonatomic) VUIDownloadDataSource *downloadDataSource;

@property (retain, nonatomic) VUIPlayer *mainPlayer;
@property (retain, nonatomic) VUIPlayer *backgroundAudioPlayer;
@property (retain, nonatomic) NSMutableArray *multiviewPlaybackInfo;
@property (retain, nonatomic) VUIPlayer *extrasPlayer;
@property (weak, nonatomic) VUIPlayer *activePlayer;
@property (retain, nonatomic) TVPStateMachine *stateMachine;
@property (retain, nonatomic) VideosExtrasContext *extrasContext;
@property (retain, nonatomic) AVPlayerViewController *avPlayerViewController;
@property (retain, nonatomic) AVPlayerViewController *mainAVPlayerViewController;
@property (retain, nonatomic) AVPlayerViewController *extrasAVPlayerViewController;
@property (weak, nonatomic) NSObject<VUIControllerPresenter> *presentingViewController;
@property (nonatomic) long long dismissalOperation;
@property (nonatomic) BOOL requiresLinearPlayback;
@property (retain, nonatomic) NSDictionary *savedErrorUserInfo;
@property (retain, nonatomic) id savedErrorContext;
@property (retain, nonatomic) NSObject<OS_dispatch_queue> *audioSessionSerialQueue;
@property (retain, nonatomic) UIAlertController *errorAlertController;
@property (retain, nonatomic) UIViewController<VUIPlaybackContainerViewController> *playbackContainerViewController;
@property (retain, nonatomic) UIViewController<VUIMultiPlayerViewController> *multiPlayerViewController;
@property (retain, nonatomic) UIViewController<VUIMultiPlayerDetailsViewController> *multiPlayerDetailsViewController;
@property (nonatomic, getter=isTrackingPlayerViewFrame) BOOL trackingPlayerViewFrame;
@property (retain, nonatomic) UIActivityItemsConfiguration *itemsConfiguration;
@property (retain, nonatomic) VideosExtrasPresenter *extrasPresenter;
@property (retain, nonatomic) VUINowPlayingFeatureMonitor *featureMonitor;
@property (retain, nonatomic) VUIPostPlayView *postPlayView;
@property (nonatomic) unsigned long long autoPlayedVideosCount;
@property (retain, nonatomic) NSDate *initialPlaybackStartDate;
@property (nonatomic) BOOL configuredPostPlay;
@property (retain, nonatomic) NSNumber *postPlayImpressionTime;
@property (retain, nonatomic) NSDictionary *skipButtonImpressionMetrics;
@property (retain, nonatomic) UIButton *skipButton;
@property (retain, nonatomic) NSLayoutConstraint *skipCenterXConstraint;
@property (retain, nonatomic) NSLayoutConstraint *skipBottomConstraint;
@property (retain, nonatomic) NSLayoutConstraint *skipTrailingConstraint;
@property (retain, nonatomic) VUIVideoAdvisoryLogoImageDownloader *logoImageDownloader;
@property (retain, nonatomic) UIImage *ratingImage;
@property (retain, nonatomic) UIImage *photoSensitivityImage;
@property (retain, nonatomic) VUIVideoAdvisoryView *ratingView;
@property (nonatomic) BOOL shouldDisplayTVRatingWhenVideoBoundsIsAvailable;
@property (nonatomic) BOOL shouldAnimateTVRatingView;
@property (retain, nonatomic) UIImage *productPlacementImage;
@property (retain, nonatomic) VUIProductPlacementView *productPlacementView;
@property (nonatomic) BOOL shouldDisplayProductPlacementWhenVideoBoundsIsAvailable;
@property (nonatomic) BOOL shouldAnimateProductPlacementView;
@property (retain, nonatomic) NSString *postPlayItemId;
@property (retain, nonatomic) UIViewController *moreInfoCanonicalViewController;
@property (readonly, nonatomic) BOOL isFullscreenPlaybackUIBeingShown;
@property (readonly, nonatomic) BOOL isShowingExtras;
@property (readonly, nonatomic) BOOL isPlaybackUIBeingShown;
@property (readonly, nonatomic) BOOL isPIPing;
@property (readonly, nonatomic, getter=isPostPlayActive) BOOL postPlayActive;
@property (readonly, nonatomic) NSObject<TVPMediaItem> *currentMediaItem;
@property (readonly, nonatomic) BOOL currentPlaylistAllowsCellular;
@property (readonly, nonatomic) BOOL allowedToAutoPlay;
@property (readonly, nonatomic) long long multiviewPlayerCount;
@property (readonly, nonatomic) long long maxMultiviewPlayerCount;
@property (readonly, nonatomic) NSObject<VUIControllerPresenter> *fullScreenViewControllerForPresentation;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (readonly, nonatomic) id<UIActivityItemsConfigurationReading> activityItemsConfiguration;
@property (readonly, nonatomic) NSArray *multiviewIdentifiers;
@property (readonly, nonatomic) AVPlayerViewController *playerViewController;
@property (readonly, nonatomic) id<VUINowPlayingTabControllerDelegate> nowPlayingControllerDelegate;

+ (id)sharedInstance;
+ (BOOL)_isFullScreenPlaybackState:(id)a0;
+ (BOOL)_isShowingExtrasState:(id)a0;

- (void)_applicationWillEnterForeground:(id)a0;
- (void)_applicationWillResignActive:(id)a0;
- (void)_applicationDidBecomeActive:(id)a0;
- (id)init;
- (void)_applicationDidEnterBackground:(id)a0;
- (void)startPictureInPicture;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (void).cxx_destruct;
- (void)playerViewController:(id)a0 willTransitionToVisibilityOfPlaybackControls:(BOOL)a1 withAnimationCoordinator:(id)a2;
- (void)playerViewController:(id)a0 failedToStartPictureInPictureWithError:(id)a1;
- (void)playerViewController:(id)a0 restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:(id /* block */)a1;
- (void)playerViewController:(id)a0 willEndFullScreenPresentationWithAnimationCoordinator:(id)a1;
- (void)playerViewControllerDidStartPictureInPicture:(id)a0;
- (void)playerViewControllerDidStopPictureInPicture:(id)a0;
- (void)playerViewControllerWillStartPictureInPicture:(id)a0;
- (void)playerViewControllerWillStopPictureInPicture:(id)a0;
- (void)playerViewController:(id)a0 contentViewWillTransitionToSize:(struct CGSize { double x0; double x1; })a1 withTransitionCoordinator:(id)a2;
- (id)playerViewController:(id)a0 displayNameForMediaSelectionOption:(id)a1;
- (id)playerViewController:(id)a0 targetViewForDismissalAnimationWithProposedTargetView:(id)a1;
- (void)_networkReachbilityDidChange:(id)a0;
- (void)_playerRateDidChange:(id)a0;
- (void)_addVideoDimmingViewForPostPlay;
- (void)_externalPlaybackTypeDidChange:(id)a0;
- (void)_pushMoreInfoControllerIfNeeded;
- (void)_showStillWatchingAlertFeature:(id)a0;
- (void)extrasMenuItemSelected:(id)a0 atIndex:(unsigned long long)a1;
- (void)extrasRequestReloadWithContext:(id)a0;
- (void)_addProductPlacementFeatureFromMediaItem:(id)a0;
- (void)_addRollsInfoFeaturesFromMediaItem:(id)a0;
- (void)_addSkipInfoFeaturesFromMediaItem:(id)a0;
- (void)_addTVRatingFeatureFromMediaItem:(id)a0;
- (void)_addTappableViewToRemoveSkipButton;
- (void)_avPlayerViewControllerPresentationDidTimeout;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_calculatePostPlayPipRectForParent:(id)a0;
- (void)_clearActivityItemsConfiguration;
- (void)_configureStillWatchingFeatureMonitoringIfLivePlayback;
- (void)_currentMediaItemDidChange:(id)a0;
- (id)_currentlyPlayingMultiviewInfo;
- (id)_deepLinkPlaybackURLForCurrentMediaItem;
- (void)_dismissPostPlayWithSwipe:(id)a0;
- (void)_donateUserActivityForMediaItem:(id)a0;
- (void)_downloadProductPlacementImageIfAvailable:(id)a0;
- (void)_downloadRatingImageIfAvailable:(id)a0;
- (void)_handleDismissSkipButtonGesture:(id)a0;
- (void)_handleTapAwayFromPostPlayGesture:(id)a0;
- (BOOL)_isNewPostPlayEnabled;
- (void)_markMainPlayerMediaItemPlayingPictureInPictureMetadataAsActive:(BOOL)a0 forAVPlayerViewController:(id)a1;
- (void)_markMainPlayerMediaItemPostPlayActive:(BOOL)a0;
- (BOOL)_multiviewContainsMediaInfo:(id)a0;
- (void)_notifyAVPlayerViewControllerDisplaySize;
- (void)_playbackErrorDidOccur:(id)a0;
- (void)_playbackStateDidChange:(id)a0;
- (void)_postPlayItemSelected:(id)a0;
- (void)_recordSkipButtonImpressions;
- (void)_registerApplicationNotifications;
- (void)_registerStateMachineHandlers;
- (void)_removeMoreInfoViewControllerIfNeeded;
- (void)_removeTappableViewForSkipButtonIfNeeded;
- (void)_removeVideoDimmingViewForPostPlay;
- (void)_resetAutoPlayBingeWatchingQualifications;
- (void)_setExtrasButtonVisible:(BOOL)a0;
- (void)_setupBootstrapPostPlayFeatureMonitorForMediaItem:(id)a0;
- (void)_setupFeaturesFromMainPlayersCurrentMediaItem;
- (void)_setupInfoTab:(BOOL)a0;
- (void)_showOrUpdateAdvisoryViewsIfNeeded;
- (void)_showProductPlacement:(BOOL)a0 withImage:(id)a1 animated:(BOOL)a2;
- (void)_showSkipButtonWithTitle:(id)a0 show:(BOOL)a1 animated:(BOOL)a2;
- (void)_showTVRating:(BOOL)a0 withRatingImage:(id)a1 photoSensitivityImage:(id)a2 animated:(BOOL)a3;
- (void)_skipButtonTapped:(id)a0;
- (void)_startPlaybackFromBeginning;
- (void)_unmuteNextAvailableMultiviewPlayer;
- (void)_updateActivityItemsConfigurationWithSharedWatchId:(id)a0 sharedWatchUrl:(id)a1 previewMetadata:(id)a2 mediaItem:(id)a3;
- (void)_updateMultiviewButtonState;
- (void)_updateRequiresLinearPlayback;
- (void)_updateStopWhenBackgroundedFeatureForApplicationState:(long long)a0 isFullScreen:(BOOL)a1;
- (void)_updateTimeBoundFeature:(id)a0 animated:(BOOL)a1;
- (void)_updateTimeTriggeredFeature:(id)a0 animated:(BOOL)a1;
- (void)addPlaylistToMultiview:(id)a0 animated:(BOOL)a1 completion:(id /* block */)a2;
- (void)addPlaylistToMultiview:(id)a0 atIndex:(long long)a1 animated:(BOOL)a2 completion:(id /* block */)a3;
- (void)autoPlayTimerDidCompleteForPostPlayView:(id)a0;
- (void)configureAudioSessionForBackgroundPlayback:(BOOL)a0 usingPlaybackCategory:(BOOL)a1;
- (id)createPlayerViewController;
- (id)detailsViewControllerForMultiPlayerViewController:(id)a0;
- (double)detailsViewHeightForMultiPlayerViewController:(id)a0;
- (void)dismissPlaybackAnimated:(BOOL)a0 leaveGroupActivitySession:(BOOL)a1 completion:(id /* block */)a2;
- (void)dismissPostPlayAnimated:(BOOL)a0;
- (void)extrasBackButtonPressed;
- (void)extrasContext:(id)a0 extrasVisibilityNeedsUpdate:(BOOL)a1;
- (void)extrasContext:(id)a0 hadFatalError:(id)a1;
- (void)extrasContextDidLoadMainMenuItems:(id)a0;
- (void)extrasDoneButtonPressed;
- (void)extrasRequestsMediaPlayback:(id)a0 isBackground:(BOOL)a1;
- (void)extrasRequestsPlaybackStop;
- (void)featureMonitor:(id)a0 featureDidChangeState:(id)a1 animated:(BOOL)a2;
- (unsigned long long)indexOfMediaItemInMultiviewWithIdentifier:(id)a0;
- (BOOL)isPlaylistBeingPresented:(id)a0;
- (void)mediaInfoDidChangeTo:(id)a0 canPlay:(BOOL)a1 wasAutoPlayed:(BOOL)a2;
- (void)multiPlayerViewController:(id)a0 detailsViewControllerDidAppear:(id)a1;
- (void)multiPlayerViewController:(id)a0 detailsViewControllerDidDisappear:(id)a1;
- (void)multiPlayerViewController:(id)a0 detailsViewControllerWillAppear:(id)a1;
- (void)multiPlayerViewController:(id)a0 detailsViewControllerWillDisappear:(id)a1;
- (void)multiPlayerViewController:(id)a0 didBeginDropWithMediaInfo:(id)a1;
- (void)multiPlayerViewController:(id)a0 didCrossSupportedScreenSizeBoundary:(BOOL)a1;
- (void)multiPlayerViewController:(id)a0 didDismissWithPlayerViewController:(id)a1 withReason:(unsigned long long)a2;
- (void)multiPlayerViewController:(id)a0 didDropWithMediaInfo:(id)a1 overPlayerAtIndex:(long long)a2;
- (void)multiPlayerViewController:(id)a0 didEndDropWithMediaInfo:(id)a1;
- (void)multiPlayerViewController:(id)a0 didEnterFullscreenWithPlayerViewController:(id)a1;
- (void)multiPlayerViewController:(id)a0 didExitFullscreenWithPlayerViewController:(id)a1;
- (void)multiPlayerViewController:(id)a0 didPinchPlayerToDismiss:(id)a1;
- (void)multiPlayerViewController:(id)a0 didRemovePlayer:(id)a1 atIndex:(long long)a2;
- (void)multiPlayerViewController:(id)a0 didSelectPlayerViewController:(id)a1;
- (void)multiPlayerViewController:(id)a0 didSwapPlayerViewControllerAtIndex:(long long)a1 withPlayerAtIndex:(long long)a2;
- (void)multiPlayerViewController:(id)a0 willDismissWithPlayerViewController:(id)a1 withReason:(unsigned long long)a2;
- (BOOL)multiviewContainsMediaItemWithIdentifier:(id)a0;
- (void)nowPlayingTabControllerMediaInfoDidChangeTo:(id)a0 canPlay:(BOOL)a1 wasAutoPlayed:(BOOL)a2;
- (void)playbackContainerViewControllerBackgroundPlaybackWillBegin:(id)a0;
- (void)playbackContainerViewControllerDidAutoPlay:(id)a0;
- (void)playbackContainerViewControllerDidDisappear:(id)a0;
- (void)playbackContainerViewControllerDidFinishLoadingPostPlay:(id)a0;
- (void)playbackContainerViewControllerExitPictureInPicturePressed:(id)a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })playbackContainerViewControllerPiPFrameForCurrentPlayback:(id)a0;
- (void)presentExtrasWithURL:(id)a0 storeID:(id)a1 actionParams:(id)a2 fromViewController:(id)a3 completion:(id /* block */)a4;
- (void)presentMultiviewWithPlaylists:(id)a0 fromViewController:(id)a1 animated:(BOOL)a2;
- (void)presentPlaylist:(id)a0 fromViewController:(id)a1 dismissalOperation:(long long)a2 allowsCellular:(BOOL)a3 animated:(BOOL)a4 completion:(id /* block */)a5;
- (void)presentPlaylist:(id)a0 fromViewController:(id)a1 dismissalOperation:(long long)a2 allowsCellular:(BOOL)a3 animated:(BOOL)a4 userInfo:(id)a5 completion:(id /* block */)a6;
- (void)presentPlaylist:(id)a0 fromViewController:(id)a1 dismissalOperation:(long long)a2 animated:(BOOL)a3 completion:(id /* block */)a4;
- (void)removePlaylistFromMultiview:(id)a0 animated:(BOOL)a1;
- (void)replacePlaylistInMultiviewAtIndex:(long long)a0 withPlaylist:(id)a1 animated:(BOOL)a2;

@end