Commit Graph

979 Commits (a29e3674c4888afad16c878b6c121195043b8cfa)
 

Author SHA1 Message Date
Matthew Chen a29e3674c4 Merge branch 'charlesmchen/webrtc/video5' into feature/webrtc 8 years ago
Matthew Chen fe140b0da5 Updated the button icons in the call view’s “remote video” mode.
// FREEBIE
8 years ago
Matthew Chen 2a4170a32d Merge branch 'charlesmchen/webrtc/video4' into feature/webrtc 8 years ago
Matthew Chen bc00b87783 Reply to CR.
// FREEBIE
8 years ago
Matthew Chen 9c3ecbc77d Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen d560aa022a Reworked call view’s remote video mode. 8 years ago
Matthew Chen e2d6c574df Fix guard syntax.
// FREEBIE
8 years ago
Matthew Chen bba1f05dc0 Merge branch 'charlesmchen/webrtc/video3' into feature/webrtc 8 years ago
Matthew Chen 204aeab69c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen ec1f77c630 Polish video calls.
* Send and handle messages around video status.
* Fix handling of callee data channel.
* Fix layout of local video view.

// FREEBIE
8 years ago
Matthew Chen 8bdf03fa7d Merge branch 'charlesmchen/webrtc/video2_' into feature/webrtc 8 years ago
Matthew Chen 48ca4fe865 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 0c7f183ac8 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a65d3b7c4e Add video-related views.
// FREEBIE
8 years ago
Michael Kirk e556a369bb Include missing files to fix tests
// FREEBIE
8 years ago
Michael Kirk 814aec6cdd Recover CallKit state when remote client fails to hangup
Distinguish between localHangup, remoteHangup, and call failure.

This allows us to put CallKit in the proper state, ready to receive new
calls without having a backlog of phantom calls which haven't been
properly removed.

Note the "call error" occurs at the point ICE fails, which takes a
while. Anecdotally, like 10 seconds, which feels like a long to be
talking into the ether.

I briefly considered failing at 'disconnected', which happens much
sooner, but that's actually a recoverable state. E.g. if you toggle
airplane mode you can see that you bounce into `disconnected` and then
back to `connected`, so I don't think we'd want to fail the call as long
as WebRTC considers it "recoverable".

// FREEBIE
8 years ago
Michael Kirk 6c14f2f500 Fix "Answer" from iOS9 notification doesn't init audio
The removed code was from an older eon. CallService shouldn't be touched
except via the CallUIAdapter since only there is the omnipresent
distinction between CallKit vs. NonCallKit made.

i.e. when the RTCAudioSession get's started depends on the
CallUIAdaptee.

// FREEBIE
8 years ago
Michael Kirk d3e6747499 Merge remote-tracking branch 'origin/master' into feature/webrtc 8 years ago
Michael Kirk 5856e351ae Respect WebRTC calling preference (#1640)
TODO: this is going to be weird when two parties are *just* enabling
webrtc for the first time. We might want to do something as drastic as
refetch contact information before completing the call.

// FREEBIE
8 years ago
Michael Kirk 1de5a51fea Pull latest translations
// FREEBIE
8 years ago
Michael Kirk 4e72ab92c8 Prevent session corruption by using a single serial queue for encrypt and decrypt
coordinate SignalProtocol encryption/decryption on a single serial
queue. Previously message sending encrypted on the sending thread, while
message receiving decrypted on the main thread.

// FREEBIE
8 years ago
Michael Kirk c4eecb24d7 bump release target
// FREEBIE
8 years ago
Michael Kirk a6029f2545 Merge remote-tracking branch 'origin/master' into feature/webrtc 8 years ago
Michael Kirk 6af933c17d Merge branch 'release/2.6.13' 8 years ago
Michael Kirk cabd85c854 Merge branch 'mkirk/webrtc/fix-non-callkit-ringer' into feature/webrtc 8 years ago
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 e3a5451080 Merge branch 'feature/disableCallKitButtons' into feature/webrtc 8 years ago
Matthew Chen d4dbe7f44f Disable unused CallKit buttons.
// FREEBIE
8 years ago
Matthew Chen 8639471494 Merge branch 'charlesmchen/webrtc/video' into feature/webrtc 8 years ago
Matthew Chen 229d95ecbf Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7ca8c0f28d Merge branch 'feature/improveAppDelegateLogging' 8 years ago
Michael Kirk c2fae986f2 [SSK] better logging when we fail to get DB keys
// FREEBIE
8 years ago
Michael Kirk d6f2fa92a6 remove negative notification
There isn't much the user can do in response to it, and the user will
get a subsequent "new message" notification when the fallback push
triggers.

// FREEBIE
8 years ago
Michael Kirk 907e122d62 Migrate legacy db stored logging preferences to NSUserDefaults
This is part of making sure we can log *before* the DB is initialized.

// FREEBIE
8 years ago
Michael Kirk 2355c74173 fixup condition
// FREEBIE
8 years ago
Michael Kirk 870fb960a2 Start logging earlier in app setup.
Because logging-preference was previously stored on the storageManager
this meant we couldn't possible log anything related to the init'ing the
storage manager.

TODO: migrate old logging preference to use the new NSUserDefaults
setting

// FREEBIE
8 years ago
Michael Kirk d9cfb38854 bump build
// FREEBIE
8 years ago
Michael Kirk 9516ab1106 Bail on startup if DB password is inaccessible
Most likely this would be  because the user hasn't unlocked their device
since last restart.

This behavior existed once before, but the startup ordering is pretty
delicate. So, we're now redundantly checking in SSK in case this
delicate startup logic gets mis-ordered again.

Also fixed the AppDelegate method to check for the proper
applicationState, since it will never be "active" in didFinishLaunching.

fixes https://github.com/WhisperSystems/Signal-iOS/issues/1627

// FREEBIE
8 years ago
Matthew Chen 9e739433c5 Start work on video.
// FREEBIE
8 years ago
Matthew Chen 698b914049 Elaborate logging in app delegate.
// FREEBIE
8 years ago
Michael Kirk 0e7083ed4e [SSK] remove Cuba from domain fronting
Current implementation is blocked in Cuba, plus there are reports of
Signal working w/o domain fronting anyway.

// 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