Commit Graph

34 Commits (12b916ad36a2c8b8984510635cbb44f956535886)

Author SHA1 Message Date
Michael Kirk ce9ca1bdaa audio player type 7 years ago
Matthew Chen d4f7b5d45b Respond to CR. 7 years ago
Matthew Chen e1049fdfcc Respond to CR. 7 years ago
Matthew Chen cf6f3841a8 Apply new Swift logging. 7 years ago
Michael Kirk 82e559d11b Use swift macros for main thread assert 7 years ago
Matthew Chen 26001e49d1 Unify log tags. 7 years ago
Matthew Chen 2c9c028504 Clean up. 7 years ago
Matthew Chen 4d8c764789 Migrate to Swift 4. 8 years ago
Matthew Chen 77b72b6b06 Migrate to Swift 4. 8 years ago
Michael Kirk 0f46834e8d Show "Reconnecting..." on call screen
// FREEBIE
8 years ago
Matthew Chen 6caa5b87b6 Add more asserts around thread in SAE. 8 years ago
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
8 years ago
Michael Kirk 4dd1c7813a Instrument calls to ensure audio session is maintained
// FREEBIE
8 years ago
Michael Kirk abb51b565a Don't de-activate audio sesion when other audio activities are happening
// FREEBIE
8 years ago
Michael Kirk a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
8 years ago
Michael Kirk c7642cc628 Fix volume burst when call connects
By centralizing AudioSession management onto the AudioService, we can
avoid enabling the RTCAudioSession while we're mid-ring.

Also allows us to centralize and remove redundant audio session logic.

// FREEBIE
8 years ago
Michael Kirk 03f1bbca62 Move state from CallViewController -> Call
I think whenever reasonable we prefer to consodlidate state on the call

// FREEBIE
8 years ago
Matthew Chen 3d0811c03f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9fc92990f5 Improve logging in CallService.
// FREEBIE
8 years ago
Matthew Chen dea37b422b Respond to CR.
// FREEBIE
9 years ago
Matthew Chen 06a775b41a Improve the call status messages in conversation view.
// FREEBIE
9 years ago
Michael Kirk 108720c2e7 End outgoing call with "No Answer" after 2 minutes
// FREEBIE
9 years ago
Matthew Chen af289145b5 Rework concurrency in the signaling logic.
// FREEBIE
9 years ago
Michael Kirk 969b73cad8 Implement call holding (call swapping still broken).
- Alice calls Bob on Signal and they start talking
- Charlie calls Alice on Not-Signal.
- Alice chooses to "Hold & Accept" putting Bob on Hold while the call with
  Charlie connects.
- If Alice ends the call with Charlie, we're back in Signal-iOS and
  talking to Bob, no problem.
- However, if, before ending the call with Charlie, Alice tries to swap
  *back* to bob, bob won't hear any audio in the callkit screen. Alice
  has to switch back to the Signal screen before the audio is transmitted.

// FREEBIE
9 years ago
Matthew Chen d560aa022a Reworked call view’s remote video mode. 9 years ago
Matthew Chen 48ca4fe865 Respond to CR.
// FREEBIE
9 years ago
Matthew Chen a65d3b7c4e Add video-related views.
// FREEBIE
9 years ago
Michael Kirk 87ed662116 Persist AudioService if CallViewController is dismissed
...in response to CR, move the AudioService off of the CallViewController

Adopt multiple observer pattern vs. a singular delegate. Doing so
required implementing some machinery to address the ARC (see:
Weak.swift)

// FREEBIE
9 years ago
Matthew Chen 9e739433c5 Start work on video.
// FREEBIE
9 years ago
Matthew Chen ada6da9506 Fix merge.
The changes to SignalCall must have been lost as I tried to apply swift lint to them.

// FREEBIE
9 years ago
Matthew Chen 4a65a88512 Rework new call view.
// FREEBIE
9 years ago
Michael Kirk 469bff5734 Make call delegate weak
// FREEBIE
9 years ago
Michael Kirk 947a637669 Sync "mute" controls between CallKit
In the process, extracted the CallDelegate to allow the
CAllViewController to observe useful call state properties (call.state
and call.isMuted)

// FREEBIE
9 years ago
Michael Kirk 647b2b37e9 WIP: WebRTC calling
* Ensure NotificationsManager has dependencies
    Otherwise it's easy to mess up the order of the required dependencies.
* move AccountManager into Environment, it's heavy to construct

// FREEBIE
9 years ago