@@ -16,16 +16,21 @@ class EpilogueUserInfoCell: UITableViewCell {
1616 private var gravatarStatus : GravatarUploaderStatus = . idle
1717 private var email : String ?
1818 private var avatarMenuController : AnyObject ?
19+ private var allowGravatarUploads : Bool = false
1920
2021 override func awakeFromNib( ) {
2122 super. awakeFromNib ( )
2223 configureImages ( )
2324 configureColors ( )
25+ if RemoteFeatureFlag . gravatarQuickEditor. enabled ( ) {
26+ NotificationCenter . default. addObserver ( self , selector: #selector( refreshAvatar) , name: . GravatarImageUpdateNotification, object: nil )
27+ }
2428 }
2529
2630 /// Configures the cell so that the LoginEpilogueUserInfo's payload is displayed
2731 ///
2832 func configure( userInfo: LoginEpilogueUserInfo , showEmail: Bool = false , allowGravatarUploads: Bool = false , viewController: UIViewController ) {
33+ self . allowGravatarUploads = allowGravatarUploads
2934 email = userInfo. email
3035 self . viewController = viewController
3136
@@ -59,8 +64,7 @@ class EpilogueUserInfoCell: UITableViewCell {
5964 if let gravatarUrl = userInfo. gravatarUrl, let url = URL ( string: gravatarUrl) {
6065 gravatarView. downloadImage ( from: url)
6166 } else {
62- let placeholder : UIImage = allowGravatarUploads ? . gravatarUploadablePlaceholderImage : . gravatarPlaceholderImage
63- gravatarView. downloadGravatar ( for: userInfo. email, gravatarRating: . x, placeholderImage: placeholder)
67+ downloadGravatar ( )
6468 }
6569 }
6670 }
@@ -90,6 +94,17 @@ class EpilogueUserInfoCell: UITableViewCell {
9094 presenter. presentQuickEditor ( on: viewController)
9195 }
9296
97+ private func downloadGravatar( forceRefresh: Bool = false ) {
98+ let placeholder : UIImage = allowGravatarUploads ? . gravatarUploadablePlaceholderImage : . gravatarPlaceholderImage
99+ if let email {
100+ gravatarView. downloadGravatar ( for: email, gravatarRating: . x, placeholderImage: placeholder, forceRefresh: forceRefresh)
101+ }
102+ }
103+
104+ @objc private func refreshAvatar( ) {
105+ downloadGravatar ( forceRefresh: true )
106+ }
107+
93108 /// Starts the Activity Indicator Animation, and hides the Username + Fullname labels.
94109 ///
95110 func startSpinner( ) {
0 commit comments