luxlabs header browser preview


@class VUIPlayer, NSDate, VUIImageProxy, VUIImageView, UIViewController, VUIMediaInfoFetchController, VUIMediaInfo, TVPVideoView, NSLayoutConstraint, NSString, NSTimer, TVPStateMachine, NSNumber, AVPlayerViewController, TVPPlayer, NSArray;

@interface VUIBackgroundMediaController : VUIBaseViewController <AVPlayerViewControllerDelegate, VUIBackgroundMediaPlayback>

@property (retain, nonatomic) VUIImageView *alphaProxyImageView;
@property (retain, nonatomic) VUIImageProxy *alphaImageProxy;
@property (retain, nonatomic) UIViewController *playbackContainerController;
@property (retain, nonatomic) NSDate *playbackLoadingStartDate;
@property (weak, nonatomic) NSTimer *playbackLoadingTimer;
@property (weak, nonatomic) NSTimer *playbackDelayTimer;
@property (weak, nonatomic) NSTimer *imageDelayTimer;
@property (retain, nonatomic) VUIMediaInfo *pendingMediaInfo;
@property (nonatomic) unsigned long long pendingMediaInfoDirection;
@property (retain, nonatomic) NSNumber *pendingAnimated;
@property (retain, nonatomic) TVPStateMachine *stateMachine;
@property (retain, nonatomic) VUIMediaInfoFetchController *mediaInfoFetchController;
@property (nonatomic) unsigned long long state;
@property (nonatomic) unsigned long long imageAnimationOptions;
@property (nonatomic) double imageAnimationDuration;
@property (nonatomic) double imageTransitionInterval;
@property (nonatomic) BOOL shouldAnimateOverlayView;
@property (retain, nonatomic) TVPVideoView *secondaryVideoView;
@property (weak, nonatomic) NSTimer *pauseStateTimeoutTimer;
@property (nonatomic) unsigned long long vpafPlaybackStartReason;
@property (nonatomic, getter=isAutomaticPlaybackStop) BOOL automaticPlaybackStop;
@property (nonatomic) unsigned long long vpafPlaybackStopReason;
@property (nonatomic) BOOL shouldPlayAfterAppBecomesActive;
@property (nonatomic) BOOL shouldPlayAfterFullplaybackUIDidEnd;
@property (nonatomic) BOOL hasViewAppeared;
@property (readonly, nonatomic, getter=isBackgrounded) BOOL backgrounded;
@property (nonatomic) BOOL didAVPlayerControllerEnterFullscreen;
@property (nonatomic) BOOL didWeCreatePlayer;
@property (nonatomic) BOOL observingPictureInPictureActive;
@property (copy, nonatomic) NSString *titleForLogging;
@property (nonatomic) unsigned long long deactivationReasons;
@property (nonatomic) BOOL showsVideoControls;
@property (nonatomic) BOOL keepVideoGravityUnchangedByVideoControlsVisibility;
@property (nonatomic) float fullscreenTransitionVolumeAnimationChanges;
@property (retain, nonatomic) NSLayoutConstraint *proxyImageWidthConstraint;
@property (retain, nonatomic) NSLayoutConstraint *proxyImageHeightConstraint;
@property (retain, nonatomic) NSLayoutConstraint *proxyImageCenterXConstraint;
@property (retain, nonatomic) NSLayoutConstraint *proxyImageCenterYConstraint;
@property (retain, nonatomic) VUIPlayer *activePIPingPlayer;
@property (nonatomic) unsigned long long lastMediaInfoIndex;
@property (nonatomic) BOOL observingInitialMediaItemHasCompletedInitialLoading;
@property (retain, nonatomic) NSString *lastMediaEventActionType;
@property (retain, nonatomic) TVPPlayer *player;
@property (retain, nonatomic) VUIImageView *proxyImageView;
@property (retain, nonatomic) AVPlayerViewController *avPlayerViewController;
@property (retain, nonatomic) NSString *videoGravity;
@property (readonly, copy, nonatomic) VUIMediaInfo *currentMediaInfo;
@property (copy, nonatomic) NSArray *mediaInfos;
@property (nonatomic) unsigned long long mediaInfoIndex;
@property (readonly, nonatomic, getter=isForeground) BOOL foreground;
@property (readonly, copy, nonatomic) NSString *name;
@property (nonatomic, getter=isPlaybackEnabled) BOOL playbackEnabled;
@property (nonatomic) BOOL loadsPlayerWithFullscreenPlayback;
@property (nonatomic, getter=shouldStopPlayerWhenViewDisappears) BOOL stopPlayerWhenViewDisappears;
@property (nonatomic, getter=shouldStopPlayerWhenExitingFullScreen) BOOL stopPlayerWhenExitingFullScreen;
@property (nonatomic) BOOL exitsFullscreenWhenPlaybackEnds;
@property (nonatomic) BOOL clearPreviousImageBeforeLoading;
@property (nonatomic) BOOL animateImageChange;
@property (nonatomic) BOOL animateVideoChange;
@property (nonatomic) unsigned long long imageContentMode;
@property (nonatomic) BOOL popWhenPlayerStops;
@property (nonatomic) BOOL mutePlaybackInBackground;
@property (nonatomic, getter=shouldUseForegroundAudioSessionInBackgroundMode) BOOL useForegroundAudioSessionInBackgroundMode;
@property (nonatomic) BOOL shouldShowFullScreenButton;
@property (nonatomic) float backgroundVolume;
@property (nonatomic) float foregroundVolume;
@property (nonatomic) double volumeTransitionAnimationDuration;
@property (nonatomic) unsigned long long numberOfVolumeIncrements;
@property (nonatomic, getter=shouldStopWhenAnotherMediaControllerStarts) BOOL stopWhenAnotherMediaControllerStarts;
@property (nonatomic) unsigned long long playbackStopDelayReasons;
@property (nonatomic) double playbackStopDelay;
@property (nonatomic) double playbackStartDelay;
@property (nonatomic) unsigned long long imageSwappingAnimationType;
@property (nonatomic) unsigned long long videoSwappingAnimationType;
@property (nonatomic, getter=shouldPauseAtEnd) BOOL shouldPauseAtEnd;
@property (nonatomic, getter=shouldShowImageAndStopAfterPausingAtEnd) BOOL shouldShowImageAndStopAfterPausingAtEnd;
@property (nonatomic) double imageTransitionAnimationDuration;
@property (nonatomic) double imageVideoTransitionAnimationDuration;
@property (nonatomic) BOOL showsPlaybackControlsInForeground;
@property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } legibleContentInsets;
@property (nonatomic) BOOL shouldDisableSubtitle;
@property (nonatomic, getter=isAutomaticPlaybackStart) BOOL automaticPlaybackStart;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)play;
- (void)pause;
- (id)init;
- (void)dealloc;
- (id)notificationObject;
- (void)_applicationDidRemoveDeactivationReason:(id)a0;
- (void)stop;
- (id)initWithName:(id)a0;
- (void)_applicationWillAddDeactivationReason:(id)a0;
- (id)initWithNibName:(id)a0 bundle:(id)a1;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (void).cxx_destruct;
- (id)initWithCoder:(id)a0;
- (BOOL)_autoPlayEnabled;
- (void)playerViewController:(id)a0 willEndFullScreenPresentationWithAnimationCoordinator:(id)a1;
- (void)updateFrames;
- (BOOL)_canPause;
- (void)_handleApplicationDidBecomeActiveNotification:(id)a0;
- (void)_handleApplicationWillResignActiveNotification:(id)a0;
- (void)setControlsVisible:(BOOL)a0;
- (void)_loadImage:(id /* block */)a0;
- (void)_playbackStateChanged:(id)a0;
- (void)_configureAudioSession;
- (void)vui_viewDidLoad;
- (void)vui_viewDidLayoutSubviews;
- (void)vui_viewWillAppear:(BOOL)a0;
- (void)vui_viewWillDisappear:(BOOL)a0;
- (void)_addAlphaProxyImageViewIfNeeded;
- (void)_configureAudioSessionForState:(id)a0;
- (void)_pipPlaybackDidChangeMutedState;
- (void)transitionToFullScreenAnimated:(BOOL)a0;
- (void)_addContentViewIfNeeded;
- (void)_addOverlayViewAnimatedIfNeeded:(BOOL)a0 dismissAfter:(double)a1;
- (void)_addPlaybackViewControllerForPlayback:(BOOL)a0;
- (void)_addProxyImageView:(id)a0;
- (void)_animateTransitionFromView:(id)a0 toView:(id)a1 duration:(double)a2 direction:(unsigned long long)a3 completion:(id /* block */)a4;
- (void)_audioSessionSilentSecondaryAudioDidChange:(id)a0;
- (void)_cleanUpEverything;
- (void)_cleanUpEverythingPlaybackRelated;
- (void)_cleanUpPlaybackTimers;
- (double)_computedPlaybackDelayInterval;
- (void)_configMirroredImageForBackgroundImage:(id)a0;
- (void)_configureLegibleContentInsetFromState:(id)a0 toState:(id)a1;
- (void)_constrainToView:(id)a0;
- (BOOL)_currentMediaInfoContentMatchesMediaInfo:(id)a0;
- (BOOL)_currentMediaInfoImagesMatchesNewMediaInfoImage:(id)a0;
- (void)_didPlayMediaItemToEnd:(id)a0;
- (void)_disablePlaybackWhenShowingFullScreenUIIfNeeded;
- (void)_disableSubtitleIfNeeded;
- (void)_enablePlaybackWhenFullScreenPlaybackEnd;
- (unsigned long long)_flippedDirection:(unsigned long long)a0 isRTL:(BOOL)a1;
- (void)_handleApplicationDidEnterBackgroundNotification:(id)a0;
- (void)_handleNavigationControllerDidShow;
- (void)_handlePlaybackManagerUIDidChange;
- (void)_handleViewDisappear;
- (BOOL)_hasSecondaryView;
- (BOOL)_isViewInTopMostVisibleView;
- (void)_mediaControllerStartedPlayback:(id)a0;
- (BOOL)_mediaInfo:(id)a0 contentMatchesMediaInfo:(id)a1;
- (void)_notifyAVPlayerViewControllerDisplaySize;
- (void)_observeModalNavigationControllerNotifications;
- (void)_performPlayerVolumeAnimatedUpdate:(BOOL)a0;
- (void)_pipPlaybackStateChanged:(id)a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_playbackContainerViewFrame:(BOOL)a0 hasSecondaryVideoView:(BOOL)a1;
- (void)_playbackErrorDidOccur:(id)a0;
- (void)_recordBgAutoPlayMediaEventForPlaybackState:(id)a0;
- (void)_registerAudioSessionNotification;
- (void)_registerForApplicationStateNotifications;
- (void)_registerPlaybackManagerNotification;
- (void)_registerPlayerNotifications;
- (void)_registerStateMachineHandlers;
- (void)_removeOverlayView:(id)a0 animated:(BOOL)a1;
- (void)_removePlaybackViewController;
- (void)_removeProxyImageView;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_secondaryVideoViewFrame:(BOOL)a0;
- (double)_secondaryVideoViewHeight;
- (void)_setAlphaImageProxy:(id)a0;
- (BOOL)_shouldApplyLegibleContentInsetForState:(id)a0;
- (BOOL)_shouldPausePlaybackDueToDeactivationReasons;
- (BOOL)_shouldShowSecondaryView;
- (void)_showPlaybackIfPossible;
- (void)_stateDidChangeFromState:(id)a0 toState:(id)a1 onEvent:(id)a2 context:(id)a3 userInfo:(id)a4;
- (void)_swapActiveMedia:(BOOL)a0 animated:(BOOL)a1 completion:(id /* block */)a2;
- (void)_transitionToNewImage:(id)a0 animated:(BOOL)a1 direction:(unsigned long long)a2 completion:(id /* block */)a3;
- (void)_unregisterPlayerNotifications;
- (void)_updateAVPlayerViewControllerWithAVPlayerForPlayer:(id)a0;
- (void)_updateCurrentPlaybackViewFrameForPlaybackInBackground:(BOOL)a0 animated:(BOOL)a1;
- (void)_updatePlayerMuteStateForBackgroundPlaybackWithReason:(id)a0;
- (void)_updatePlayerVolume:(id)a0;
- (void)_updateVideoPlayerLegibleContentInsets:(BOOL)a0;
- (void)_updateWithMediaInfo:(id)a0 withDirection:(unsigned long long)a1 imageVideoSwapBehavior:(unsigned long long)a2 animated:(BOOL)a3;
- (void)appendMediaInfos:(id)a0;
- (id)createTransitionImageViewAtIndex:(unsigned long long)a0 oldView:(id)a1;
- (void)loadAlphaImageProxy;
- (void)playBackManagerFullscreenPlaybackUIDidChangeNotification:(id)a0;
- (void)playbackManagerShowingExtrasDidChangeNotification:(id)a0;
- (void)removeMediaInfoAtIndex:(unsigned long long)a0;
- (void)setMediaInfo:(id)a0 atIndex:(unsigned long long)a1 animated:(BOOL)a2;
- (void)setMediaInfoIndex:(unsigned long long)a0 forwardAnimation:(BOOL)a1;
- (void)setMediaInfoIndex:(unsigned long long)a0 imageVideoSwapBehavior:(unsigned long long)a1 animated:(BOOL)a2;
- (void)setMediaInfoIndex:(unsigned long long)a0 imageVideoSwapBehavior:(unsigned long long)a1 animated:(BOOL)a2 forwardAnimation:(BOOL)a3;
- (void)setMediaInfos:(id)a0 animated:(BOOL)a1;
- (void)setMediaInfos:(id)a0 selectedIndex:(unsigned long long)a1 animated:(BOOL)a2;
- (void)setPlaybackEnabled:(BOOL)a0 imageVideoSwapBehavior:(unsigned long long)a1;
- (void)showAlphaImage:(BOOL)a0 animated:(BOOL)a1;
- (void)transitionToForeground:(BOOL)a0 animated:(BOOL)a1;
- (void)transitionToForeground:(BOOL)a0 withPlaybackControls:(BOOL)a1 animated:(BOOL)a2;
- (void)transitionToForeground:(BOOL)a0 withPlaybackControls:(BOOL)a1 fullScreenPlayer:(BOOL)a2 animated:(BOOL)a3;
- (void)updateAudioMuteWithPIPingPlayback;

@end