Showing the share UI conflicts with the conversation views
inputAccessory toolbar.
Specifically:
- the long press menu acquires first responder
- tapping share presents the activity view
- at this point, the input toolbar is hidden
- launching a share extension hides the activity view, presents the
share extension (could be the Signal share extension or another app's
share extension)
- the conversation view (which is rendered behind the share extension)
regains first responder, causing the input toolbar to appear above the
share extension
One fix would be to re-implement an interface similar UIMenuController,
which does not require mucking with the responder chain, but that's
going to be more involved.
// FREEBIE
This affects iOS 8, 9, and to a lesser degree iOS10.
On iOS11, presenting an alert causes the keyboard/inputAccessoryView to
temporarily dismiss.
// FREEBIE
- sync speakerphone state manipulated from system call screen
- Revert audio session after call failure, ensures media plays out of
speaker after placing a failing call.
- Replace notification with delegate pattern since we're already using
delegate pattern here.
- Fixes voiceover accessibility after voice memo
- Avoid audio blip after pressing hangup
- Rename CallAudioSession -> OWSAudioSession
Going to start using it for other non-call things since we want to
gather all our audio session concerns.
- Resume background audio when done playing video
- Extract OWSVideoPlayer which ensures audio is in proper state before
playback
- Move recording session logic to shared OWSAudioSession
- Deactivate audio session when complete
// FREEBIE
ApprovalView/Captioning is shown for:
- Images/Videos from Library
- Images/Video from Camera
- Document Picker
- GIFs
Voice notes are intentionally not captionable.
Also, in main app, hide status bar when ApprovalView is presented
// FREEBIE