@class HFCameraAnalyticsCameraPlayerLaunchEvent, AVHomeLoadingButtonControlItem, HFCameraItem, HUCalendarScrubberContainerViewController, HFCameraPlaybackEngine, NAUILayoutConstraintSet, UIButton, HUCameraPlayerAVBehavior, HUCameraPlayerAccessoryViewController, UIViewController, UIAlertController, HUCameraMicrophoneControl, NSLayoutConstraint, HUCameraPlayerConfiguration, NAFuture, HUCameraBlurViewController, HUCameraDateDisplayController, UIView, HUCameraRecordingPlayerView, NSArray, HFItemManager, AVPlayerViewController, HUCameraPlayerPlaceholderContentViewController, NSObject, HUCameraPlayerFooterViewController, NSString, HFItem, UILabel, NSTimer, AVQueuePlayer, HUCameraPlayerLiveContentViewController, HUDiagnosticsCameraPlayerController, HUClipScrubberViewController, AVPlayerLooper, HUCameraTimelapseController, HUCameraStatusOverlayView, AVPlayerLayer; @protocol OS_dispatch_queue, HUPresentationDelegate, HUCameraControllerDelegate; @interface HUCameraController : NSObject <AVPlayerViewControllerDelegate, AVPlayerViewControllerDelegatePrivate, HFCameraPlaybackEngineObserver, HFItemManagerDelegate, HUCameraPlayerAVBehaviorDelegate, HUPresentationDelegate, HFExecutionEnvironmentObserver, HFNetworkMonitorObserver, HUItemPresentationContainer, HUPresentationDelegateHost> @property (retain, nonatomic) AVPlayerViewController *playerViewController; @property (weak, nonatomic) id<HUCameraControllerDelegate> cameraDelegate; @property (retain, nonatomic) HFItemManager *itemManager; @property (retain, nonatomic) HFCameraItem *cameraItem; @property (retain, nonatomic) HFCameraPlaybackEngine *playbackEngine; @property (retain, nonatomic) HUCameraPlayerConfiguration *playerConfiguration; @property (retain, nonatomic) HUCameraStatusOverlayView *cameraStatusView; @property (retain, nonatomic) HUCameraPlayerAVBehavior *behavior; @property (retain, nonatomic) UIButton *cameraPickerButton; @property (retain, nonatomic) NSArray *savedControlItems; @property (retain, nonatomic) AVHomeLoadingButtonControlItem *nextControlItem; @property (readonly, nonatomic) UIView *volumeControlView; @property (retain, nonatomic) HUCalendarScrubberContainerViewController *calendarContainerViewController; @property (retain, nonatomic) HUCameraPlayerAccessoryViewController *accessoryViewController; @property (retain, nonatomic) HUCameraPlayerFooterViewController *footerViewController; @property (retain, nonatomic) HUCameraPlayerLiveContentViewController *liveContentViewController; @property (retain, nonatomic) HUClipScrubberViewController *clipScrubberViewController; @property (retain, nonatomic) HUCameraPlayerPlaceholderContentViewController *placeholderContentViewController; @property (retain, nonatomic) HUCameraBlurViewController *blurViewController; @property (nonatomic) BOOL recordedClipInterfaceAvailable; @property (nonatomic, getter=isEnteringFullScreen) BOOL enteringFullScreen; @property (nonatomic, getter=isViewVisible) BOOL viewVisible; @property (nonatomic, getter=isObservingReadyForDisplay) BOOL observingReadyForDisplay; @property (nonatomic) BOOL applicationIsActive; @property (retain, nonatomic) NAUILayoutConstraintSet *cameraStatusViewConstraintSet; @property (retain, nonatomic) NAUILayoutConstraintSet *scrubberConstraintSet; @property (retain, nonatomic) NAUILayoutConstraintSet *calendarConstraintSet; @property (retain, nonatomic) NAUILayoutConstraintSet *portraitMicrophoneConstraintSet; @property (retain, nonatomic) NAUILayoutConstraintSet *landscapeMicrophoneConstraintSet; @property (retain, nonatomic) NSLayoutConstraint *cameraStatusViewTopConstraint; @property (retain, nonatomic) NSLayoutConstraint *dayLabelBottomConstraint; @property (retain, nonatomic) NSLayoutConstraint *accessoryViewWidthConstraint; @property (retain, nonatomic) NSLayoutConstraint *accessoryViewHeightConstraint; @property (retain, nonatomic) HUCameraRecordingPlayerView *demoPlayerView; @property (retain, nonatomic) AVPlayerLooper *looper; @property (weak, nonatomic) AVQueuePlayer *demoModeQueuePlayer; @property (weak, nonatomic) UIAlertController *airplaneAlertController; @property (retain, nonatomic) HUCameraTimelapseController *timelapseController; @property (retain, nonatomic) AVPlayerLayer *timelapsePlayerLayer; @property (nonatomic) BOOL shouldResumePlaying; @property (retain, nonatomic) UILabel *dayLabel; @property (retain, nonatomic) UILabel *timeLabel; @property (retain, nonatomic) HUCameraDateDisplayController *dateDisplayController; @property (retain, nonatomic) UIView *loadingOverlayView; @property (retain, nonatomic) NSTimer *liveTimer; @property (retain, nonatomic) NAFuture *ppt_clipsLoadedFuture; @property (retain, nonatomic) HUCameraMicrophoneControl *portraitMicrophoneControl; @property (retain, nonatomic) HUCameraMicrophoneControl *landscapeMicrophoneControl; @property (nonatomic) BOOL hu_playbackControlsAreVisible; @property (nonatomic) BOOL displayingDetailsViewController; @property (nonatomic) BOOL needsToFetchClip; @property (nonatomic) BOOL finishedFetchingCameraEvents; @property (retain, nonatomic) HUDiagnosticsCameraPlayerController *diagnosticsController; @property (retain, nonatomic) HFCameraAnalyticsCameraPlayerLaunchEvent *launchEvent; @property (nonatomic) BOOL isDismissingViewController; @property (nonatomic) unsigned long long pipState; @property (retain, nonatomic) NSObject<OS_dispatch_queue> *audioSessionQueue; @property (nonatomic) BOOL foundCameraClipWithInsufficientAnalysis; @property (weak, nonatomic) UIViewController *tipPopoverController; @property (retain, nonatomic) id tipsObserver; @property (nonatomic) unsigned long long lastTimeControlStatusPriorToCameraSwap; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) HFItem *hu_presentedItem; @property (weak, nonatomic) id<HUPresentationDelegate> presentationDelegate; - (id)home; - (id)cameraProfile; - (void)updateViewConstraints; - (void)dealloc; - (BOOL)shouldDisplayMicrophoneControl; - (void)playbackEngine:(id)a0 didUpdateEvents:(id)a1; - (void)toggleMicrophoneState; - (BOOL)_shouldAutoPlayOnViewAppearance; - (void)itemManager:(id)a0 didUpdateResultsForSourceItem:(id)a1; - (void)playbackEngine:(id)a0 didUpdatePlaybackPosition:(id)a1; - (void)playbackControlsDidChangePlayerVolume:(float)a0; - (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3; - (void)playbackEngine:(id)a0 didUpdateScrubbingStatus:(BOOL)a1; - (void).cxx_destruct; - (void)playbackControlsDidUpdateVisibilityOfLoadingIndicator:(BOOL)a0; - (void)playerViewController:(id)a0 willTransitionToVisibilityOfPlaybackControls:(BOOL)a1 withAnimationCoordinator:(id)a2; - (void)playbackEngine:(id)a0 didUpdateTimeControlStatus:(unsigned long long)a1; - (void)updateVolumeControlVisibility; - (void)playbackEngine:(id)a0 didUpdateLiveCameraSource:(id)a1; - (void)playbackControlsDidToggleMuted:(BOOL)a0; - (void)playbackEngine:(id)a0 didUpdatePlaybackError:(id)a1; - (double)currentScrubberResolutionForBehavior:(id)a0; - (void)dismissTip; - (void)playerViewController:(id)a0 failedToStartPictureInPictureWithError:(id)a1; - (void)playerViewController:(id)a0 restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:(id /* block */)a1; - (void)playerViewController:(id)a0 willBeginFullScreenPresentationWithAnimationCoordinator:(id)a1; - (void)playerViewController:(id)a0 willEndFullScreenPresentationWithAnimationCoordinator:(id)a1; - (void)playerViewControllerDidStartPictureInPicture:(id)a0; - (void)playerViewControllerDidStopPictureInPicture:(id)a0; - (BOOL)playerViewControllerShouldAutomaticallyDismissAtPictureInPictureStart:(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 targetViewForDismissalAnimationWithProposedTargetView:(id)a1; - (void)addCameraStatusOverlayAndPicker; - (void)cancelLiveTimer; - (void)playbackEngine:(id)a0 didRemoveEvents:(id)a1; - (double)portraitMicrophoneOverlapOffset; - (void)updateIdleTimer; - (void)_didBeginPlayerViewControllerPresentation; - (void)_didEndPlayerViewControllerPresentation; - (void)_displayAirplaneModeAlert; - (void)_finishDisplayingTimelineForClip:(id)a0; - (void)_refreshClipCacheAndRefetchForClipUUID:(id)a0; - (void)_resetStateAfterPIP; - (void)_updateCanShowOverlayState; - (void)addFooterConstraints; - (void)addFooterViewController; - (id)cameraPickerMenu; - (double)cameraStatusViewConstantForTraitCollection; - (void)cancelAnyPendingLaunchEventAnalytics; - (void)changeUnanalyzedCameraClipTipShouldDisplayTo:(BOOL)a0; - (void)cleanUpConstraintSets; - (void)cleanUpIdleTimerState; - (void)configureCalendarContainerViewControllerIfNeeded; - (void)configureClipScrubberViewController; - (void)configureClipScrubberViewControllerIfNeeded; - (void)disableAudioSession; - (void)dismissEditInterface; - (void)displayCurrentTimeAndDate; - (void)displayPlaybackUIWithUpdate:(BOOL)a0; - (void)displayTimelineForClipUUID:(id)a0; - (void)enableAudioSession; - (void)executionEnvironmentDidBecomeOccluded:(id)a0; - (void)executionEnvironmentDidBecomeVisible:(id)a0; - (void)fetchRequestedClipUsingConfiguration; - (id)finishPresentation:(id)a0 animated:(BOOL)a1; - (void)handleSceneDidActivate; - (void)handleSceneWillDeactivate; - (void)handleShouldDifferentiateWithoutColorDidChange; - (BOOL)hasRecordedClips; - (BOOL)homeHasMultipleCameraProfiles; - (id)initWithConfiguration:(id)a0 cameraDelegate:(id)a1; - (void)loadAccessoryViewControllersOnInit; - (void)loadAuxilliaryViews; - (void)loadControlItemsOnInit; - (void)loadDependentViewControllers; - (void)loadTimelapsePlayer; - (void)networkDidBecomeUnavailable; - (void)pauseEngineIfNeeded; - (void)pictureInPictureDidToggleMicrophone; - (void)playbackEngine:(id)a0 didUpdateClipPlayer:(id)a1; - (void)playbackEngine:(id)a0 didUpdateMicrophoneEnabled:(BOOL)a1; - (id)ppt_clipCollectionView; - (id)presentInternalViewController:(id)a0; - (void)presentNearbyAccessoriesViewController; - (id)presentSettingsViewController; - (void)presentTip; - (void)reloadClipsWithUpdate:(BOOL)a0; - (void)removePlaybackHistoryUI; - (void)setupConstraintSets; - (void)setupPlaybackEngine; - (void)setupTipsObserver; - (BOOL)shouldAutoPlayOnViewAppearance; - (BOOL)shouldDisableLiveStreamAfterCameraStatusChange; - (BOOL)shouldDisplayLandscapeMicrophoneInLine; - (void)showCamera:(id)a0; - (void)startLiveTimer; - (void)tearDownTipsObserver; - (void)toggleDemoModeLiveStreamVideo:(BOOL)a0; - (void)updateBlurWithPlaybackEngine:(id)a0; - (void)updateCalendarContainerVisibility:(BOOL)a0; - (void)updateCameraPlayerForEventPlaybackPosition:(id)a0; - (void)updateCameraStatus; - (void)updateCanShowOverlayState; - (void)updateIndicatorColor; - (void)updateLivePreviewAspectRatio; - (void)updateMicrophoneAndSpeakerStatus; - (void)updateMicrophoneControlVisibility; - (void)updateMicrophoneControls; - (void)updatePIPBehaviorForDeviceAndConfiguration; - (void)updatePlaceholderContent; - (void)updatePlayerVolumeSliderState; - (void)updateStateForPlaybackPosition:(id)a0 animated:(BOOL)a1; - (void)updateStateForScrubbingStatus:(BOOL)a0 animated:(BOOL)a1; - (void)updateUnanalyzedCameraClipTip; - (void)updatedRecordedClipInterfaceAvailabilityAnimated:(BOOL)a0; @end