Signal-iOS/Signal/src
Jim Gustafson 60e619562e Update protocol buffer and behavior for multi-ring
Add type for Hangup messages, to reflect either normal hangup or hangup
because the call was accepted elsewhere.

Add type to Offer messages, which is used to indicate the type of call
that is being originated, either an audio call (the same as all legacy
calls) or a video call.

Add level for all messages, which is used to filter feature support,
either legacy or multi-ring behavior.

If the feature level for the Call Message is detected as legacy, AND if
the device is NOT the primary, drop the incoming Call Message.

Always mark outgoing Call Messages as multi-ring capable.

Adjust RingRTC interfaces to support:
- Call Media Type (default is always audioCall for now)
- The Hangup Type, which can be either normal (i.e. regular hangup) or
  accepted, replacing the removed Accepted message.

Hangups can now be sent out as a legacy messages or new messages. The
format is the same so that legacy clients will ignore 'new' hangups
sent to squelch ringing if they were actually the 'winner'.

Passing information for receivedOffer and receivedAnswer APIs to
indicate if the sender is a legacy sender or not. Legacy here means
someone using the protocol before the FeatureLevel was added to the
prototol for Call Messages.

Passing information to receivedOffer to indicate if the local device
is primary or not. As a result, if the device is receiving the offer
from a legacy device and is non-primary, the offer shall be ignored.
In this case, a new event is fired:

endedIgnoreCallsFromNonMultiringCallers

Co-authored-by: Michael Kirk <michael@signal.org>
2020-05-08 15:50:49 -07:00
..
call Update protocol buffer and behavior for multi-ring 2020-05-08 15:50:49 -07:00
environment Update protocol buffer and behavior for multi-ring 2020-05-08 15:50:49 -07:00
Experience Upgrades Revise dark theme. 2020-04-16 11:32:35 -03:00
Jobs Merge remote-tracking branch 'private/release/3.8.2' 2020-05-05 13:38:30 -03:00
Models Merge remote-tracking branch 'private/release/3.8.1' 2020-05-01 12:40:28 -03:00
network make OWSErrorMakeAssertionError variadic, objc only. Swift doesn't need vargs for formatting and can use the more concise OWSAssertionError 2020-03-04 10:08:29 -07:00
Storyboard Landscape orientation. 2019-01-09 15:20:05 -05:00
UserInterface suppress some actions until onboarded 2020-02-18 18:39:15 -07:00
util Merge remote-tracking branch 'private/release/3.8.2' 2020-05-05 13:38:30 -03:00
ViewControllers Update protocol buffer and behavior for multi-ring 2020-05-08 15:50:49 -07:00
views Merge remote-tracking branch 'private/release/3.8.0' 2020-04-23 12:59:57 -03:00
AppDelegate.h Clean up ahead of PR. 2018-04-24 11:29:24 -04:00
AppDelegate.m Update protocol buffer and behavior for multi-ring 2020-05-08 15:50:49 -07:00
CNContactViewController+OWS.h Fix CNContactViewController cancel on iOS 13 2019-11-18 15:15:37 -08:00
CNContactViewController+OWS.m Fix CNContactViewController cancel on iOS 13 2019-11-18 15:15:37 -08:00
ConversationSearch.swift Apply theme blue tint colors. 2020-04-23 10:59:12 -03:00
NotificationActionHandler.swift Merge tag '3.5.0.5' 2020-02-19 19:26:05 -07:00
Signal-Bridging-Header.h Debug UI for screenshots without assets. 2020-04-29 17:43:16 -03:00
UIApplication+OWS.swift Fix build warnings. 2020-04-08 16:05:54 -03:00
UIResponder+OWS.swift Revert "Merge branch 'nt/ipad-split-view'" 2019-10-21 12:35:02 -07:00
UIStoryboard+OWS.swift Migrate to Swift 4. 2018-05-30 15:05:02 -04:00
UserNotificationActionHandler.swift Notification Service Extension 2020-01-30 11:44:41 -08:00