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
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
// 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
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
* 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