@class NSTimer, NSString, ETMessage, ETBalloonPluginDataSource, DTSColorPicker, UIButton, ETCanvasView, NSMutableArray, AVPlayer; @protocol DTSCanvasViewControllerSendDelegate; @interface DTSCanvasViewController : UIViewController { NSMutableArray *_unplayedMessages; BOOL _isPlayingMessage; UIButton *_replayButton; BOOL _showingReplayButton; NSTimer *_composeSessionEndTimer; AVPlayer *_videoPlayer; UIButton *_audioToggleButton; UIButton *_cancelButton; UIButton *_skipButton; } @property (retain, nonatomic) DTSColorPicker *colorPicker; @property (weak, nonatomic) ETBalloonPluginDataSource *dataSource; @property (copy, nonatomic) id /* block */ balloonPlaybackCompletion; @property (retain, nonatomic) ETMessage *messageForReplay; @property (weak, nonatomic) id sendDelegate; @property (nonatomic) unsigned short composingMessageType; @property (nonatomic, getter=isComposingCompositeMessage) BOOL composingCompositeMessage; @property (nonatomic, getter=isPlayingCompositeMessage) BOOL playingCompositeMessage; @property (nonatomic) double mediaMessagePlayTrackerTime; @property (nonatomic, getter=isPaused) BOOL paused; @property (nonatomic, getter=isComposeDisabled) BOOL composeDisabled; @property (nonatomic, getter=isAutoPlayOnAppearanceDisabled) BOOL autoPlayOnAppearanceDisabled; @property (nonatomic) BOOL ignoreAppearanceCallbacks; @property (retain, nonatomic) ETCanvasView *canvasView; @property (nonatomic, getter=isPlayingMessages) BOOL playingMessages; @property (retain, nonatomic) ETMessage *playingMessage; @property (nonatomic) BOOL deferMessageSend; @property (readonly, nonatomic) NSMutableArray *deferredMessages; @property (nonatomic) BOOL usesCompactKeyboardLayout; @property (nonatomic) BOOL overrideAudioDefaultToOff; @property (nonatomic, getter=isPlaybackEnabled) BOOL playbackEnabled; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)audioToggleOffImage; + (id)audioToggleOnImage; + (id)replayButtonFont; - (BOOL)_isVisible; - (BOOL)shouldAutorotate; - (void)_applicationDidEnterBackground; - (id)init; - (void)viewWillLayoutSubviews; - (void)viewDidLayoutSubviews; - (void)viewDidLoad; - (unsigned long long)supportedInterfaceOrientations; - (void)viewWillDisappear:(BOOL)a0; - (void).cxx_destruct; - (void)viewDidAppear:(BOOL)a0; - (void)replay; - (void)viewDidDisappear:(BOOL)a0; - (id)_cancelButton; - (BOOL)_shouldShowCancelButton; - (void)_applicationDidBecomeActive; - (void)_applicationWillResignActive; - (void)_cancelButtonTapped; - (id)_skipButton; - (id)_replayButton; - (void)_skipButtonTapped; - (BOOL)_shouldAutoSend; - (void)_updateCanvasInteractionEnabled; - (void)canvasView:(id)a0 angerUsesForceTouch:(BOOL)a1; - (long long)recentHeartRate; - (id)_audioToggleButton; - (void)_audioToggleButtonTapped; - (BOOL)_canComposeAfterMediaPlayback; - (BOOL)_canLoopMessageDuringPlayback:(id)a0; - (BOOL)_canStartMessagePlaybackLoop; - (void)_clearComposeSessionEndTimer; - (void)_composeSessionEndTimerFired; - (void)_continueMessagePlaybackLoopWithDelay:(BOOL)a0; - (double)_cornerButtonInset; - (void)_exportDemoHookMessage; - (void)_hideVideoPlayer; - (double)_nonAnimatedMessagePlaybackDuration; - (void)_playMessage:(id)a0; - (void)_playNextMessage; - (id)_playingParentMessage; - (void)_relinquishAudio; - (void)_reloadUnplayedMessages; - (double)_rightButtonInset; - (void)_schedulePlaybackOfCompositeMessageContent:(id)a0; - (void)_sendAutosendingComposition; - (void)_sendDemoHookMessage; - (void)_setAngerUsesForceTouch:(BOOL)a0; - (void)_setCachedMessageForReplay:(id)a0; - (void)_setReplayButton:(id)a0; - (void)_setShowingReplayButton:(BOOL)a0; - (BOOL)_shouldDimColorPicker; - (BOOL)_shouldShowSkipButton; - (void)_showDemoHookAlertWithTitle:(id)a0 message:(id)a1; - (void)_startComposeSessionEndTimer; - (void)_startVideoPlayerWithMessage:(id)a0; - (void)_stopPlaybackAnimated:(BOOL)a0; - (BOOL)_tapRecognizerShouldBegin:(id)a0; - (void)_updateAudioOnOffButton; - (void)_updateAudioOnOffButtonImage; - (void)_updateColorPickerEnabled; - (void)_updatePlaybackControls; - (void)_updateSendButton; - (void)_updateSkipButtonFrame; - (void)_updateVideoPlayerUI; - (BOOL)_usingDemoHook; - (void)_videoMessageDidFinishPlaying:(id)a0; - (void)addUnplayedMessage:(id)a0; - (BOOL)canExpireMessages; - (BOOL)canReplay; - (BOOL)canShowReplayButton; - (void)canvasView:(id)a0 didBeginComposingMessageType:(unsigned short)a1; - (void)canvasView:(id)a0 didBeginPlayingMessage:(id)a1; - (void)canvasView:(id)a0 didEndComposingMessageType:(unsigned short)a1; - (void)canvasView:(id)a0 didEndPlayingMessage:(id)a1; - (void)canvasView:(id)a0 didUpdateComposingMessageType:(unsigned short)a1; - (void)canvasView:(id)a0 sendMessage:(id)a1; - (BOOL)canvasView:(id)a0 tapRecognizerShouldBegin:(id)a1; - (void)canvasView:(id)a0 willEndPlayingMessage:(id)a1; - (void)canvasViewDidBeginStroke:(id)a0; - (void)canvasViewDidEndMediaAppearance:(id)a0; - (void)canvasViewDidEndStroke:(id)a0; - (void)canvasViewDidPause:(id)a0; - (void)canvasViewDidStartMediaAppearance:(id)a0; - (void)canvasViewDidUnpause:(id)a0; - (BOOL)canvasViewShouldSendWithTimer:(id)a0; - (BOOL)canvasViewShouldUseFastVerticalWisp:(id)a0; - (void)canvasViewWillReachComposingSizeLimit:(id)a0; - (void)clearDeferredMessages; - (void)colorPickerSelectedColorDidChange:(id)a0; - (void)colorPickerTapped:(id)a0; - (BOOL)dataSource:(id)a0 addDemoHookToMessage:(id *)a1; - (void)dataSource:(id)a0 didReceiveSessionMessage:(id)a1; - (void)dataSource:(id)a0 didUpdateAttachmentURL:(id)a1 forMessageWithIdentifier:(id)a2; - (void)dataSource:(id)a0 startPlaybackWithCompletion:(id /* block */)a1; - (BOOL)dataSourceShouldUseDemoHook:(id)a0; - (void)dataSourceStopPlayback:(id)a0; - (BOOL)dataSourceViewIsMostlyVisible:(id)a0; - (void)didBeginComposingMessage; - (void)didChangeColorPickerColor; - (void)didEndComposingMessage; - (void)didEndSessionPlayback; - (BOOL)hasMessageForReplay; - (void)startMessagePlaybackLoop; - (void)updateVideoUI; - (void)willBeginSessionPlayback; - (void)willEndSessionPlaybackInterrupted:(BOOL)a0; @end