Commit Graph

70 Commits (040e3b88b09a96de6a3f1c45ab48d6cb35f5665d)

Author SHA1 Message Date
Matthew Chen d7ae6fbbf4 Respond to CR. 7 years ago
Matthew Chen 1d94c2da75 Improve comments. 7 years ago
Matthew Chen 9e1021f1a4 Clean up ahead of PR. 7 years ago
Matthew Chen 17fce2fdd2 Present calls using window manager. 7 years ago
Matthew Chen 7345ab2e4e Add window manager. Move call view to a separate window. 7 years ago
Michael Kirk 0f46834e8d Show "Reconnecting..." on call screen
// FREEBIE
7 years ago
Matthew Chen cc42e85bd6 Avoid race condition in call view controller. 7 years ago
Matthew Chen 621d54db17 Revert "Remove usage of ! in call view."
This reverts commit ce197b0ada.
7 years ago
Matthew Chen 943b3f031c Revert "Remove usage of ! in call view."
This reverts commit 699bf0a829.
7 years ago
Matthew Chen 594ddfaec3 Revert "Remove usage of ! in call view."
This reverts commit 3cbd49627a.
7 years ago
Matthew Chen 3cbd49627a Remove usage of ! in call view. 7 years ago
Matthew Chen 699bf0a829 Remove usage of ! in call view. 7 years ago
Matthew Chen ce197b0ada Remove usage of ! in call view. 7 years ago
Matthew Chen 26f8050da0 Merge tag '2.23.4.2' 7 years ago
Matthew Chen ae61b44a99 Resolve conflict between keyboard and call view. 7 years ago
Matthew Chen 6caa5b87b6 Add more asserts around thread in SAE. 7 years ago
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
7 years ago
Matthew Chen 4746948dfe Respond to CR. 7 years ago
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
7 years ago
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
7 years ago
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
7 years ago
Matthew Chen e77c3e6717 Retain changes from session database branch. 7 years ago
sdkjfhsdkjhfsdlkjhfsdf 38d94952f7 Shadow for Send button, clean up color accessors
// FREEBIE
7 years ago
Matthew Chen b4e8df79da Migrate environment to SignalMessaging. 8 years ago
Matthew Chen 8cc33b3de1 Refine loading view of share extension. 8 years ago
Michael Kirk a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
8 years ago
Michael Kirk a3153d29d0 Fix callscreen for iPhoneX
// FREEBIE
8 years ago
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
8 years ago
Daniel e8f92ede60 added accessibility labels for call screen controls FREEBIE
Added Prefix

combined similar labels to CALL_VIEW_MUTE_LABEL
8 years ago
Michael Kirk 15f6135639 Fix AspectRatio on legacy video view
// FREEBIE
8 years ago
Michael Kirk c3dc8508ab pre-PR cleanup
// FREEBIE
8 years ago
Michael Kirk 2a4e113c82 Cleanup
// FREEBIE
8 years ago
Michael Kirk 9b33bb0b6d fix layout on MetalKit view 8 years ago
Michael Kirk ff2f9ebaf0 fix compiling on 32bit.
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen fd9188415f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 3367292ba0 Merge branch 'hotfix/2.16.1' 8 years ago
Matthew Chen 5be2014ec7 Create Flat UI rounded button class.
// FREEBIE
8 years ago
riya e11a3bd180 change animation to linear
//FREEBIE
8 years ago
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
8 years ago
Michael Kirk 0ec2ac862a Marquee label for callview controller
// FREEBIE
8 years ago
Michael Kirk bd6387d1df fit more of profile name on call screen
// FREEBIE
8 years ago
Michael Kirk 25a2646c8b Always present settings from OWSNavigationController
// FREEBIE
8 years ago
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
8 years ago
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
8 years ago
Matthew Chen 72ea096970 Sketch out the profile view.
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen f0cecfad11 Surface memory leaks by logging the deallocation of view controllers.
// FREEBIE
8 years ago
Matthew Chen 14621e1288 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen d4e62efce5 Adapt call view to RTL.
// FREEBIE
8 years ago