Commit Graph

194 Commits

Author SHA1 Message Date
Matthew Chen e5eda8b45d Add convenience initializers to proto wrappers. 2018-08-08 13:08:47 -04:00
Matthew Chen f4a11f0c6f Respond to CR. 2018-08-07 14:47:35 -04:00
Matthew Chen dc012d46e4 Migrate call proto wrappers. 2018-08-07 14:40:49 -04:00
Matthew Chen 135a1655fd Migrate call proto wrappers. 2018-08-07 14:40:49 -04:00
Matthew Chen 32d0f23b22 Migrate call proto wrappers. 2018-08-07 14:40:49 -04:00
Matthew Chen 94675e880a Migrate call proto wrappers. 2018-08-07 14:40:49 -04:00
Matthew Chen 8837e5902e Migrate call proto wrappers. 2018-08-07 14:40:49 -04:00
Matthew Chen 379104c532 Migrate to WebRTC proto wrappers. 2018-08-07 13:20:22 -04:00
Matthew Chen 579e88bdc2 Improve nullability handling for SignalAccount. 2018-08-01 09:22:56 -04:00
Matthew Chen 158aa3abc4 Tweak system messages; incomplete vs. missed calls. 2018-07-11 15:34:16 -04:00
Matthew Chen 8b3bdb88f3 Revert "Merge branch 'charlesmchen/tweakCalls'"
This reverts commit 3e0233ea60, reversing
changes made to 74ce3012cf.
2018-07-11 15:34:16 -04:00
Matthew Chen 1a9a5016fe Tweak calls. 2018-07-09 11:08:53 -04:00
Michael Kirk 2fdb62764d avoid occasional "call failure" after local hangup.
// FREEBIE
2018-06-26 17:35:43 -06:00
Michael Kirk 61156656aa Only PCC needs to know about the local RTCTrack 2018-06-25 15:21:27 -06:00
Michael Kirk afa385feae adapt to capturer abstraction 2018-06-25 15:03:25 -06:00
Michael Kirk 0cd1cb80cc Compiling, but video sending not working. 2018-06-25 15:03:25 -06:00
Michael Kirk 064035f3f4 WIP M67 - plumb through AVCaptureSession
TODO:

-[x] plumb through AVCaptureSession
-[] get AVCaptureSession from PeerConnectionClient
-[] RTCDataChannel not unwrapped
-[] no member avFoundationSource
-[] no member "back camera"
2018-06-25 15:03:25 -06:00
Matthew Chen ed19949d60 Respond to CR. 2018-06-01 09:43:19 -04:00
Matthew Chen e949d81568 Fix more call state edge cases. 2018-06-01 09:43:19 -04:00
Matthew Chen b2f884b882 Fix call state edge cases. 2018-06-01 09:43:19 -04:00
Matthew Chen 4d8c764789 Migrate to Swift 4. 2018-05-30 15:05:02 -04:00
Matthew Chen b2b62880c0 Migrate to Swift 4. 2018-05-30 15:05:02 -04:00
Matthew Chen 77b72b6b06 Migrate to Swift 4. 2018-05-30 15:05:02 -04:00
Matthew Chen 916d55c55d Migrate to Swift 4. 2018-05-30 15:05:02 -04:00
Matthew Chen 28f7142a59 Auto-migration to Swift 4. 2018-05-30 15:05:02 -04:00
Michael Kirk caa9e3ca67 Show missed call when call times out
// FREEBIE
2018-05-25 09:19:45 -04:00
Matthew Chen a722bcde72 Fix call termination reference. 2018-05-24 12:18:39 -04:00
Matthew Chen 7eab0569b6 PeerConnectionClient thread safety. 2018-05-22 15:44:08 -04:00
Matthew Chen 078da69ee0 PeerConnectionClient thread safety. 2018-05-22 15:44:08 -04:00
Matthew Chen 1d8c642346 Respond to CR. 2018-05-22 09:39:46 -04:00
Matthew Chen f68f3cc53d Call lifecycle edge cases. 2018-05-22 09:22:40 -04:00
Matthew Chen 3967a5ab05 Call lifecycle edge cases. 2018-05-22 09:22:40 -04:00
Michael Kirk 1967b5d29e "Reconnecting..." fixup
// FREEBIE
2018-04-25 10:19:59 -04:00
Michael Kirk e5b535ccf1 Implement camera direction toggle
// FREEBIE
2018-04-25 10:19:59 -04:00
Matthew Chen 6a8796ad04 Present calls using window manager. 2018-04-25 09:56:53 -04:00
Michael Kirk 0f46834e8d Show "Reconnecting..." on call screen
// FREEBIE
2018-04-19 09:56:09 -04:00
Michael Kirk 830ed884cf Only log timeout when call actually times out
// FREEBIE
2018-04-19 07:47:30 -04:00
Matthew Chen 6caa5b87b6 Add more asserts around thread in SAE. 2018-04-13 14:59:38 -04:00
Michael Kirk 319e0d808f Merge tag '2.21.0.14' into release/2.22.0 2018-03-08 10:40:56 -05:00
Michael Kirk bbdcd0c768 Call connection fixups
callUIAdapter is not a singleton (for better or for worse)

No one should hold a reference directly to it, but rather via the
CallService, which is a singleton

Wait a bit longer for initial call screen before terminating. Especially
first call can hit this limit.

When call *does* take too long to show, terminate properly to ensure
we're not left with a phantom call

// FREEBIE
2018-03-07 18:09:07 -05:00
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 2018-03-06 17:12:13 -03:00
Matthew Chen 9db9409561 Share background tasks. 2018-03-05 17:08:58 -03:00
Michael Kirk 1d3831eccd Registration Lock reminder view
Also fixed: Don't lose PIN across registrations

// FREEBIE
2018-03-05 09:53:09 -05:00
Michael Kirk 5f305f844f Send ICE updates immediately after sending CallOffer for faster call
connection.

For legacy reasons, the call sender used to wait until after receiving
the call answer before sending the ICE updates. The primary motivation
was that if the receiving user hadn't accepted a new identity change,
rather than just seeing one "Tap to Accept New Safety Number" messages
for a call, they'd see one for the call offer and then a dozen more as
ICE updates trickled in.

We changed that behavior long ago, and effectively all clients will
avoid that case, while sending ICE updates immediately will allow calls
to connect without having to wait for an additional serialized round
trip between the caller and call recipient.

// FREEBIE
2018-02-23 17:36:07 -05:00
Michael Kirk 8dfe06e3f2 Ensure audio session is default after call is terminated.
Previously, we were enabling PlayAndRecord when a call ended due to the
CallService observer's "updateVideoTrack" callbacks.

// FREEBIE
2018-02-18 15:35:37 -05:00
Michael Kirk 707ab5f5a8 Minimize changes around call audio activity
// FREEBIE
2018-02-16 14:00:15 -08:00
Michael Kirk 4dd1c7813a Instrument calls to ensure audio session is maintained
// FREEBIE
2018-02-16 14:00:15 -08:00
Michael Kirk c646f76335 Garther audio concerns, clean up session when done
- 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
2018-02-06 18:45:51 -08:00
Michael Kirk e3469649f7 Fix receiving calls
// FREEBIE
2018-02-02 11:13:57 -08:00
Matthew Chen e77c3e6717 Retain changes from session database branch. 2018-01-10 12:18:23 -05:00