Commit graph

73 commits

Author SHA1 Message Date
Michael Kirk
0ab8fc2772 Proper flip asset
// FREEBIE
2018-05-01 18:55:06 -04:00
Michael Kirk
e5b535ccf1 Implement camera direction toggle
// FREEBIE
2018-04-25 10:19:59 -04:00
Michael Kirk
6a4aff0b9c Add flip camera button (non-functioning)
// FREEBIE
2018-04-25 10:19:59 -04:00
Matthew Chen
d7ae6fbbf4 Respond to CR. 2018-04-25 09:56:53 -04:00
Matthew Chen
1d94c2da75 Improve comments. 2018-04-25 09:56:53 -04:00
Matthew Chen
9e1021f1a4 Clean up ahead of PR. 2018-04-25 09:56:53 -04:00
Matthew Chen
17fce2fdd2 Present calls using window manager. 2018-04-25 09:56:53 -04:00
Matthew Chen
7345ab2e4e Add window manager. Move call view to a separate window. 2018-04-25 09:56:53 -04:00
Michael Kirk
0f46834e8d Show "Reconnecting..." on call screen
// FREEBIE
2018-04-19 09:56:09 -04:00
Matthew Chen
cc42e85bd6 Avoid race condition in call view controller. 2018-04-18 15:39:35 -04:00
Matthew Chen
621d54db17 Revert "Remove usage of ! in call view."
This reverts commit ce197b0ada.
2018-04-18 14:39:59 -04:00
Matthew Chen
943b3f031c Revert "Remove usage of ! in call view."
This reverts commit 699bf0a829.
2018-04-18 14:39:50 -04:00
Matthew Chen
594ddfaec3 Revert "Remove usage of ! in call view."
This reverts commit 3cbd49627a.
2018-04-18 14:39:37 -04:00
Matthew Chen
3cbd49627a Remove usage of ! in call view. 2018-04-18 13:58:43 -04:00
Matthew Chen
699bf0a829 Remove usage of ! in call view. 2018-04-18 13:29:04 -04:00
Matthew Chen
ce197b0ada Remove usage of ! in call view. 2018-04-18 13:29:04 -04:00
Matthew Chen
26f8050da0 Merge tag '2.23.4.2' 2018-04-16 19:18:31 -04:00
Matthew Chen
ae61b44a99 Resolve conflict between keyboard and call view. 2018-04-16 19:01:48 -04:00
Matthew Chen
6caa5b87b6 Add more asserts around thread in SAE. 2018-04-13 14:59:38 -04:00
Michael Kirk
6f1608f44b Conventional naming for out custom PureLayout methods.
This moves methods more in line with PureLayout conventions.

- Methods always specify if they pin to an edge vs margin

- `margin` is a reserved word which should only refer to layout margins.
  i.e. do not use it to refer to "inset" and "offset".

// FREEBIE
2018-04-02 17:02:32 -04:00
Matthew Chen
4746948dfe Respond to CR. 2018-03-14 10:02:44 -03:00
Michael Kirk
bbdcd0c768 Call connection fixups
callUIAdapter is not a singleton (for better or for worse)

No one should hold a reference directly to it, but rather via the
CallService, which is a singleton

Wait a bit longer for initial call screen before terminating. Especially
first call can hit this limit.

When call *does* take too long to show, terminate properly to ensure
we're not left with a phantom call

// FREEBIE
2018-03-07 18:09:07 -05:00
Michael Kirk
5959cdf070 Simplify call privacy settings
We've long allowed users to configure what shows up in message
notifications:

- name: content (by default)
- just name (no content)
- generic notification (no name nor content)

Now we're dual purposing that setting to apply to calls. If someone
doesn't want to show names in the message notifications, presumably also
don't want that name showing up in the call log.

Also, since the earlier CallKit/iCloud issues had been addressed before
iOS11, we upgrade all iOS11 users to the more intuitive CallKit
interface.

Also: introduce "use system call logs" toggle when available. It will be
enabled by default, but we disable it for legacy users who'd explicitly
opted *out* of CallKit.

// FREEBIE
2018-02-26 15:19:52 -05:00
Michael Kirk
c646f76335 Garther audio concerns, clean up session when done
- sync speakerphone state manipulated from system call screen
  - Revert audio session after call failure, ensures media plays out of
    speaker after placing a failing call.
  - Replace notification with delegate pattern since we're already using
    delegate pattern here.
- Fixes voiceover accessibility after voice memo
- Avoid audio blip after pressing hangup
- Rename CallAudioSession -> OWSAudioSession
  Going to start using it for other non-call things since we want to
  gather all our audio session concerns.
- Resume background audio when done playing video
  - Extract OWSVideoPlayer which ensures audio is in proper state before
    playback
  - Move recording session logic to shared OWSAudioSession
  - Deactivate audio session when complete

// FREEBIE
2018-02-06 18:45:51 -08:00
Matthew Chen
e77c3e6717 Retain changes from session database branch. 2018-01-10 12:18:23 -05:00
sdkjfhsdkjhfsdlkjhfsdf
38d94952f7 Shadow for Send button, clean up color accessors
// FREEBIE
2017-12-20 14:26:53 -06:00
Matthew Chen
b4e8df79da Migrate environment to SignalMessaging. 2017-12-05 10:29:29 -05:00
Matthew Chen
8cc33b3de1 Refine loading view of share extension. 2017-12-01 10:48:18 -05:00
Michael Kirk
a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
a3153d29d0 Fix callscreen for iPhoneX
// FREEBIE
2017-11-14 12:37:09 -05:00
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
2017-11-02 08:49:46 -04:00
Daniel
e8f92ede60 added accessibility labels for call screen controls FREEBIE
Added Prefix

combined similar labels to CALL_VIEW_MUTE_LABEL
2017-10-23 07:53:23 -07:00
Michael Kirk
15f6135639 Fix AspectRatio on legacy video view
// FREEBIE
2017-10-05 13:02:38 -04:00
Michael Kirk
c3dc8508ab pre-PR cleanup
// FREEBIE
2017-10-05 13:02:38 -04:00
Michael Kirk
2a4e113c82 Cleanup
// FREEBIE
2017-10-05 13:02:38 -04:00
Michael Kirk
9b33bb0b6d fix layout on MetalKit view 2017-10-05 13:02:38 -04:00
Michael Kirk
ff2f9ebaf0 fix compiling on 32bit.
// FREEBIE
2017-10-05 13:02:38 -04:00
Michael Kirk
f171c56488 Video calls use MetalKit when available
Taking advantage of the new RTCMTLVideoView where available
(64bit && >=iOS9), should help performance (battery and rendering
quality).

// FREEBIE
2017-10-05 13:02:38 -04:00
Matthew Chen
fd9188415f Respond to CR.
// FREEBIE
2017-10-02 14:26:03 -04:00
Matthew Chen
3367292ba0 Merge branch 'hotfix/2.16.1' 2017-09-19 17:25:24 -04:00
Matthew Chen
5be2014ec7 Create Flat UI rounded button class.
// FREEBIE
2017-09-12 14:45:57 -04:00
riya
e11a3bd180 change animation to linear
//FREEBIE
2017-09-11 10:01:21 -04:00
Michael Kirk
643f583fa6 Disable name marquee scrolling whenever local video is open
The marquee is distracting, and doubly so during a video call.

Plus because of the local video frame, the space is so small that
marqueeing will be enabled even for relatively short names on small
devices.

Also, at the point you enable local video - presumably you already know
who's on the other end.

// FREEBIE
2017-09-11 10:01:21 -04:00
Michael Kirk
0ec2ac862a Marquee label for callview controller
// FREEBIE
2017-09-11 10:01:21 -04:00
Michael Kirk
bd6387d1df fit more of profile name on call screen
// FREEBIE
2017-09-11 10:01:21 -04:00
Michael Kirk
25a2646c8b Always present settings from OWSNavigationController
// FREEBIE
2017-09-07 11:06:52 -04:00
Michael Kirk
1cd51a8df2 Use existing isViewLoaded var
Defined in UIKit, this will actually already do what we need without
having to define a new var

// FREEBIE
2017-09-01 14:39:52 -04:00
Michael Kirk
3b85c5e495 crashfix: production crash when notification fired before view loaded
We're observing notifications in init that modify the view, which is
problematic if we receive a notification before the view has loaded.

// FREEBIE
2017-09-01 12:56:50 -04:00
Matthew Chen
72ea096970 Sketch out the profile view.
// FREEBIE
2017-08-01 16:17:59 -04:00
Michael Kirk
742f8cf902 Avoid unnecessariy flashing avatars
Make avatar building sync

Tests on a iPhone5 with 1k threads, 3k contacts show no noticeable lag.

Profiling shows ~4% of usage goes to contact avatar building, but once
cached, even that goes towards zero.

// FREEBIE
2017-08-01 12:07:54 -04:00