Commit graph

36 commits

Author SHA1 Message Date
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
Matthew Chen f0cecfad11 Surface memory leaks by logging the deallocation of view controllers.
// FREEBIE
2017-07-26 11:59:00 -04:00
Matthew Chen 14621e1288 Respond to CR.
// FREEBIE
2017-07-21 14:49:24 -04:00
Matthew Chen d4e62efce5 Adapt call view to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen a9ce1cde2f Simplify CallViewController.
// FREEBIE
2017-07-19 09:47:55 -04:00
Michael Kirk 220cd345f6 add comments
// FREEBIE
2017-07-15 17:11:41 -04:00
Matthew Chen 6c61e6040c Fix another call view leak.
// FREEBIE
2017-07-13 18:14:26 -04:00
Michael Kirk b495b23420 more cleanup and commenting
// FREEBIE
2017-07-13 17:08:42 -04:00
Michael Kirk 03f1bbca62 Move state from CallViewController -> Call
I think whenever reasonable we prefer to consodlidate state on the call

// FREEBIE
2017-07-13 17:08:42 -04:00
Michael Kirk 4e11e90ebb cleanup
- remove dead code
- rename vars
- add coments

// FREEBIE
2017-07-13 17:08:41 -04:00
Michael Kirk a59eb25aef extract dismiss string -> CommonStrings.dismissButton
// FREEBIE
2017-07-13 17:08:41 -04:00
Michael Kirk 20a8e72198 disable audio source images until we have icons
// FREEBIE
2017-07-13 17:08:41 -04:00
Michael Kirk 9bd68ed490 WIP: bluetooth shows audio route button instead of speakerphone
// FREEBIE

TODO

NEED
-[ ] icon in route picker
-[ ] commit cleanup

NICE
-[ ] present action sheet automatically when making outgoing bluetooth call
-[ ] left align icons
-[ ] audio is paused when switching between video mode (maybe existing behavior, not sure)
-[ ] Copy: iPhone/iPad/iPod instead of "iPhone Microphone"

DONE
-[x] remove "receiver" from options while in video mode
-[x] show available audio routes
-[x] select available audio routes
-[x] notification if availabe inputs change so we can update call screen
     mid call with available BT route
-[x] include speakerphone in choices
-[x] Enabled button shows active speakerphone. Should still show
     bluetooth picker.
-[x] toggle back and forth between audio devices
-[x] hide audio route button in video mode if no BT available
-[x] Fixed: When on speakerphone - switching to video mode goes back to bluetooth.
-[x] Fixed: When switching to video w/ bluetooth device connected there is no
     audio picker.
-[x] respect speakerphone/BT selection when in or toggling to/from video
-[x] do not hide audio route button when in video mode and bluetooth
     connected
-[x] Show which is currently selected audio route
-[x] switching to speakerphone no longer works
-[x] switching *back* to bluetooth no longer works
-[x] add proper bluetooth button for audio calls
-[x] add proper bluetooth button for video calls
2017-07-13 17:08:41 -04:00
Michael Kirk 109cb6cdb6 rename for clarity
// FREEBIE
2017-07-13 16:05:00 -04:00
Matthew Chen a58c71f4b8 Fix leak of call view.
// FREEBIE
2017-07-12 18:04:49 -04:00
Matthew Chen c817346ee3 Fix “timer circular reference” leaks.
// FREEBIE
2017-07-07 15:17:18 -04:00
Michael Kirk 982433c2bf update call screen avatar when contacts change
in particular this is a problem when initiating a call from a cold app
state. The call screen renders before the contacts have completely
loaded.

// FREEBIE
2017-06-20 16:28:35 -04:00
Michael Kirk ff93732ed7 WIP: fix call from contacts when signal hasn't been launched yet 2017-06-20 16:17:37 -04:00
Michael Kirk 19d74d91e0 Build higher res avatar for call screen
Initials avatar looks blurry on call screen

// FREEBIE
2017-05-30 13:07:34 -07:00
Matthew Chen eeb510b903 Respond to CR.
// FREEBIE
2017-05-24 09:33:17 -04:00
Michael Kirk d7c7fff679 Fix some compiler warnings
* explicit optional usage in strings
* remove some unused StringUtil code
* swiftlint affected files
* more concise optional casting (and avoid a `!`)

Compiler warnings: 343 -> 318

(Actually most of these are in external libs, but 115 remain in Signal/SSK)

// FREEBIE
2017-05-05 14:26:29 -04:00
Matthew Chen 0f85284b82 Fix speakerphone vs. WebRTC AND Fix CallService edge cases.
// FREEBIE
2017-05-03 09:34:39 -04:00
Michael Kirk b1ea340c36 Callscreen fills buttons to show active state
// FREEBIE
2017-04-20 18:07:00 -04:00
Matthew Chen d12a582ee3 Rename source directories with a space in their name.
// FREEBIE
2017-03-31 11:58:52 -04:00
Renamed from Signal/src/view controllers/CallViewController.swift (Browse further)