Commit graph

1055 commits

Author SHA1 Message Date
Michael Kirk
cabd85c854 Merge branch 'mkirk/webrtc/fix-non-callkit-ringer' into feature/webrtc 2017-01-24 14:18:53 -05:00
Michael Kirk
333fb6c60f assert on main thread
// FREEBIE
2017-01-24 14:13:29 -05:00
Michael Kirk
b2091431dc Fix retain cycle
// FREEBIE
2017-01-24 14:13:29 -05:00
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
2017-01-24 14:13:29 -05:00
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
2017-01-24 12:57:02 -05:00
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
2017-01-24 12:57:02 -05:00
Michael Kirk
4374e431a2 Respect silent switch in and out of app.
// FREEBIE
2017-01-24 12:57:02 -05:00
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
2017-01-24 12:57:02 -05:00
Matthew Chen
e3a5451080 Merge branch 'feature/disableCallKitButtons' into feature/webrtc 2017-01-24 10:06:34 -05:00
Matthew Chen
d4dbe7f44f Disable unused CallKit buttons.
// FREEBIE
2017-01-24 10:04:37 -05:00
Matthew Chen
8639471494 Merge branch 'charlesmchen/webrtc/video' into feature/webrtc 2017-01-24 10:02:59 -05:00
Matthew Chen
229d95ecbf Respond to CR.
// FREEBIE
2017-01-24 10:02:03 -05:00
Matthew Chen
7ca8c0f28d Merge branch 'feature/improveAppDelegateLogging' 2017-01-24 09:30:22 -05:00
Michael Kirk
c2fae986f2 [SSK] better logging when we fail to get DB keys
// FREEBIE
2017-01-23 20:32:13 -05:00
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
2017-01-23 20:10:59 -05:00
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
2017-01-23 20:10:58 -05:00
Michael Kirk
2355c74173 fixup condition
// FREEBIE
2017-01-23 18:27:43 -05:00
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
2017-01-23 18:25:59 -05:00
Michael Kirk
d9cfb38854 bump build
// FREEBIE
2017-01-23 17:49:15 -05:00
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
2017-01-23 17:32:02 -05:00
Matthew Chen
9e739433c5 Start work on video.
// FREEBIE
2017-01-23 13:41:59 -05:00
Matthew Chen
698b914049 Elaborate logging in app delegate.
// FREEBIE
2017-01-23 13:31:23 -05:00
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
2017-01-20 18:16:11 -05:00
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
2017-01-17 21:49:13 -05:00
Michael Kirk
ca218ebb64 update call signatures for test fakes
// FREEBIE
2017-01-17 21:49:12 -05:00
Michael Kirk
0797df19b9 Only update label on timer
The rest of the UI only changes on Call.state change.

// FREEBIE
2017-01-17 20:23:00 -05:00
Michael Kirk
7b33cbb933 Merge pull request #1600 from WhisperSystems/mkirk/webrtc/unit-test-peerconnectionclient
test peerconnectionclient
2017-01-17 20:22:08 -05:00
Michael Kirk
0072ee3033 Ensure a stale peerConnectionClient doesn't call any methods on the CallService
Nil delegates when terminating call

// FREEBIE
2017-01-17 20:19:55 -05:00
Michael Kirk
32789bd960 Move RTCDataChannelDelegate to PeerConnectionClient
- minimizes CallService exposure to WebRTC

// FREEBIE
2017-01-17 20:14:33 -05:00
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
2017-01-17 20:14:33 -05:00
Michael Kirk
bd65dc6ba7 Fallback TURN servers if we can't get them from the server for some reason
// FREEBIE
2017-01-17 20:14:32 -05:00
Matthew Chen
1898b9fa19 Merge branch 'charlesmchen/fixWebsocket' into feature/webrtc 2017-01-17 18:47:34 -05:00
Michael Kirk
415593b41f Bump version
// FREEBIE
2017-01-17 18:24:10 -05:00
Michael Kirk
be0afaf972 bump build
// FREEBIE
2017-01-17 18:06:04 -05:00
Michael Kirk
1645663f88 pull latest translations
FIXES #1609

// FREEBIE
2017-01-17 18:05:12 -05:00
Matthew Chen
44c4d77440 Merge branch 'charlesmchen/fixWebsocket' 2017-01-17 17:51:37 -05:00
Matthew Chen
ec16016386 Update to reflect merged SSK branch. 2017-01-17 17:51:19 -05:00
Matthew Chen
ada6da9506 Fix merge.
The changes to SignalCall must have been lost as I tried to apply swift lint to them.

// FREEBIE
2017-01-17 17:42:03 -05:00
Matthew Chen
a023d02ae2 Respond to CR.
// FREEBIE
2017-01-17 17:10:57 -05:00
Matthew Chen
9c4eda54f1 Respond to CR.
// FREEBIE
2017-01-17 16:31:28 -05:00
Matthew Chen
cb3f564446 Fix web socket issue.
// FREEBIE
2017-01-17 16:01:19 -05:00
Matthew Chen
ca27d10cd4 Merge branch 'charlesmchen/webrtc/callView4' into feature/webrtc 2017-01-17 13:58:51 -05:00
Matthew Chen
1e80946a93 Add call duration to call view.
// FREEBIE
2017-01-17 13:50:33 -05:00
Matthew Chen
433ac2cf11 Merge branch 'charlesmchen/webrtcSetting' into feature/webrtc 2017-01-17 10:21:39 -05:00
Matthew Chen
773080b11b Update SSK pod to reflect merge of corresponding charlesmchen/webrtcSetting2 branch into mkirk/webrtc.
This branch updates SignalRecipient in ContactsUpdater.

// FREEBIE
2017-01-17 10:20:04 -05:00
Matthew Chen
654bdb1a85 Add WebRTC setting.
// FREEBIE
2017-01-17 10:20:04 -05:00
Matthew Chen
0c8893e91a Merge branch 'charlesmchen/webrtc/callView3' into feature/webrtc 2017-01-13 17:34:23 -05:00
Matthew Chen
071fc4ddc8 Improve buttons in call view.
// FREEBIE
2017-01-13 16:32:44 -05:00
Matthew Chen
8be987de1c Respond to CR.
// FREEBIE
2017-01-13 15:20:29 -05:00
Matthew Chen
1c4ebf6f6c Merge branch 'charlesmchen/webrtc/callView2' into feature/webrtc 2017-01-13 15:08:55 -05:00