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
pull/1/head
Michael Kirk 7 years ago
parent 36c09aeb84
commit 982433c2bf

@ -146,7 +146,11 @@ class CallViewController: UIViewController, CallObserver, CallServiceObserver, R
createViews()
contactNameLabel.text = contactsManager.displayName(forPhoneIdentifier: thread.contactIdentifier())
contactAvatarView.image = OWSAvatarBuilder.buildImage(for: thread, contactsManager: contactsManager, diameter:400)
updateAvatarImage()
NotificationCenter.default.addObserver(forName: .OWSContactsManagerSignalAccountsDidChange, object: nil, queue: nil) { _ in
Logger.info("\(self.TAG) updating avatar image")
self.updateAvatarImage()
}
assert(call != nil)
// Subscribe for future call updates
@ -314,6 +318,10 @@ class CallViewController: UIViewController, CallObserver, CallServiceObserver, R
button.setImage(image, for:.selected)
}
func updateAvatarImage() {
contactAvatarView.image = OWSAvatarBuilder.buildImage(for: thread, contactsManager: contactsManager, diameter:400)
}
func createIncomingCallControls() {
acceptIncomingButton = createButton(imageName:"call-active-wide",

Loading…
Cancel
Save