Commit Graph

739 Commits (cabd85c854991e8e7bb016fbcef36c0bcc2600d2)

Author SHA1 Message Date
Michael Kirk 333fb6c60f assert on main thread
// FREEBIE
8 years ago
Michael Kirk b2091431dc Fix retain cycle
// FREEBIE
8 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
8 years ago
Michael Kirk 3ee94d57d9 Only NonCallKit adaptee uses manual ringing
- stop executing ringer code on CallKit which manages ringing for us.
- Organize ringing code more clearly.

// FREEBIE
8 years ago
Michael Kirk 4c23b5e23f Remove dependency on AppAudioManager
Implement speakerphone toggle directly. Previously we were using
AppAudioManager for several things, but this is that last lingering bit.
Much of the AppAudioManager code is based on RedPhone calling, so by
removing the dependency we pave the way to throw that code away.

// FREEBIE
8 years ago
Michael Kirk 4374e431a2 Respect silent switch in and out of app.
// FREEBIE
8 years ago
Michael Kirk a89bde933d Respect silent-switch pre-CallKit
8 Cases considered:

(Silent Switch toggled vs. Silent Switch not-toggled)
x (App in Foreground vs. App in Background)
x (CallKit vs. NonCallKit)

CallKit already does the "right thing"

// FREEBIE
8 years ago
Matthew Chen d4dbe7f44f Disable unused CallKit buttons.
// FREEBIE
8 years ago
Matthew Chen 229d95ecbf Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9e739433c5 Start work on video.
// FREEBIE
8 years ago
Michael Kirk dbb29d7d7e Don't require recording permissions until call is ringing.
We do this by manually managing the RTCAudioSession.
Unfortunately to do this we have to include a couple of RTC headers not
exported by the default build of WebRTC.framework (see: Libraries/WebRTC)

// FREEBIE
8 years ago
Michael Kirk ca218ebb64 update call signatures for test fakes
// FREEBIE
8 years ago
Michael Kirk 0797df19b9 Only update label on timer
The rest of the UI only changes on Call.state change.

// FREEBIE
8 years ago
Michael Kirk 0072ee3033 Ensure a stale peerConnectionClient doesn't call any methods on the CallService
Nil delegates when terminating call

// FREEBIE
8 years ago
Michael Kirk 32789bd960 Move RTCDataChannelDelegate to PeerConnectionClient
- minimizes CallService exposure to WebRTC

// FREEBIE
8 years ago
Michael Kirk 8998853aff Move RTCPeerConnectionDelegate to PeerConnectionClient
This makes sense as PeerConnectionClient is our interface to WebRTC

- Makes it easier to test PeerConnectionClient and CallService
- Allows us to shrink CallService class a bit (it's huge)

// FREEBIE
8 years ago
Michael Kirk bd65dc6ba7 Fallback TURN servers if we can't get them from the server for some reason
// FREEBIE
8 years ago
Matthew Chen 1898b9fa19 Merge branch 'charlesmchen/fixWebsocket' into feature/webrtc 8 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
8 years ago
Matthew Chen a023d02ae2 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen cb3f564446 Fix web socket issue.
// FREEBIE
8 years ago
Matthew Chen 1e80946a93 Add call duration to call view.
// FREEBIE
8 years ago
Matthew Chen 654bdb1a85 Add WebRTC setting.
// FREEBIE
8 years ago
Matthew Chen 071fc4ddc8 Improve buttons in call view.
// FREEBIE
8 years ago
Matthew Chen 8be987de1c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 19633a9f61 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9df5cebfc3 Update the call view icons and refine the layout.
// FREEBIE
8 years ago
Matthew Chen 92eb2f6148 Update the call view icons and refine the layout.
// FREEBIE
8 years ago
Michael Kirk 7e715052d0 latest translations
// FREEBIE
8 years ago
Matthew Chen ee5682165d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 09c2e27e41 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c6de676018 Respond to CR.
// FREEBIE
8 years ago
Michael Kirk c4581dab21 Bump build
// FREEBIE
8 years ago
Matthew Chen 4a65a88512 Rework new call view.
// FREEBIE
8 years ago
Michael Kirk 469bff5734 Make call delegate weak
// FREEBIE
8 years ago
Michael Kirk 1ed39976ee make public protocol method implementations public
responding to CR

// FREEBIE
8 years ago
Michael Kirk f6e6e6b787 CallViewController only accesses CallService via the CallUIAdapter
This is an effort to better define boundaries and simplify
relationships.

This also fixes a theoretical problem where CallKit was showing the in-app
call screen before the call was successfully answered, now we wait until
the action is fulfilled.

// FREEBIE
8 years ago
Michael Kirk fc6da05259 remove some dead code
Related to an earlier failed attempt of reconciling CallKit audio
management with WebRTC's.

// FREEBIE
8 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
8 years ago
Matthew Chen 98e087a47f Fix font lookup on iOS before 8.2.
// FREEBIE
8 years ago
Matthew Chen 740aa643be Add method to flush logs.
// FREEBIE
8 years ago
Michael Kirk c7449db289 remove stubbed audio manager implementation until it's clear what to do
with it.

// FREEBIE
8 years ago
Michael Kirk 9e248168b9 merge CallKitProviderDelegate into CallKitCallUIAdaptee
There was not a clear distinction in responsibilities and mostly the
Adaptee was just delegating to the CKProviderDelegate
8 years ago
Michael Kirk ce3780e44a Wip smashign providerdelgate into UIAdaptee 8 years ago
Michael Kirk 6eecef99ba Promise aware Message sender
As this could be used elsewhere, ideally it'd added to the actual class
definition, but MessageSender (SSK) doesn't use PromiseKit

// FREEBIE
8 years ago
Michael Kirk f9b44c8892 Added CallService documentation
// FREEBIE
8 years ago
Michael Kirk 602a5953f2 respect silence switch for incoming ringing
// FREEBIE
8 years ago
Michael Kirk 57ad7a2808 cleanup 8 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
8 years ago
Matthew Chen 6106326b34 Update to reflect changes in SSK https://github.com/WhisperSystems/SignalServiceKit/pull/85.
// FREEBIE
8 years ago