diff --git a/Signal/ConversationView/ConversationInputToolbar.swift b/Signal/ConversationView/ConversationInputToolbar.swift index 8757b9ae002..05b43624141 100644 --- a/Signal/ConversationView/ConversationInputToolbar.swift +++ b/Signal/ConversationView/ConversationInputToolbar.swift @@ -1440,6 +1440,11 @@ public class ConversationInputToolbar: UIView, LinkPreviewViewDraftDelegate, Quo ensureButtonVisibility(withAnimation: true, doLayout: true) } } + + var isVoiceInteractionActive: Bool { + return voiceMemoRecordingState != .idle && voiceMemoRecordingState != .draft + } + private var voiceMemoGestureStartLocation: CGPoint? private var isShowingVoiceMemoUI: Bool = false { diff --git a/Signal/ConversationView/ConversationViewController.swift b/Signal/ConversationView/ConversationViewController.swift index 0480fc7c90b..8e52f730e6d 100644 --- a/Signal/ConversationView/ConversationViewController.swift +++ b/Signal/ConversationView/ConversationViewController.swift @@ -523,6 +523,11 @@ public final class ConversationViewController: OWSViewController { if viewState.inProgressVoiceMessage?.isRecording == true { return false } + + // Don't allow orientation changes during voice memo interactions + if inputToolbar?.isVoiceInteractionActive == true { + return false + } return super.shouldAutorotate }