Skip to content

Commit e33654f

Browse files
committed
Listen to gravatar changes on the signup epilogue
1 parent 7989b14 commit e33654f

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

WordPress/Classes/ViewRelated/NUX/EpilogueUserInfoCell.swift

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)