Show activity indicator during profile update; trim whitespace from profile names.
// FREEBIE
This commit is contained in:
parent
14b6fbcb04
commit
3ecd415b84
|
@ -223,22 +223,40 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
- (void)updateProfile
|
||||
{
|
||||
__weak ProfileViewController *weakSelf = self;
|
||||
[OWSProfileManager.sharedManager updateLocalProfileName:self.nameTextField.text
|
||||
avatarImage:self.avatar
|
||||
success:^{
|
||||
[weakSelf.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
failure:^{
|
||||
[OWSAlerts showAlertWithTitle:NSLocalizedString(@"ALERT_ERROR_TITLE", @"")
|
||||
message:NSLocalizedString(@"PROFILE_VIEW_ERROR_UPDATE_FAILED",
|
||||
@"Error message shown when a profile update fails.")];
|
||||
}];
|
||||
|
||||
// Show an activity indicator to block the UI during the profile upload.
|
||||
UIAlertController *alertController =
|
||||
[UIAlertController alertControllerWithTitle:NSLocalizedString(@"PROFILE_VIEW_SAVING",
|
||||
@"Indicates that the user's profile view is being saved.")
|
||||
message:nil
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
[self presentViewController:alertController
|
||||
animated:YES
|
||||
completion:^{
|
||||
[alertController dismissViewControllerAnimated:NO completion:nil];
|
||||
|
||||
[OWSProfileManager.sharedManager updateLocalProfileName:[self normalizedProfileName]
|
||||
avatarImage:self.avatar
|
||||
success:^{
|
||||
[weakSelf.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
failure:^{
|
||||
[OWSAlerts
|
||||
showAlertWithTitle:NSLocalizedString(@"ALERT_ERROR_TITLE", @"")
|
||||
message:NSLocalizedString(@"PROFILE_VIEW_ERROR_UPDATE_FAILED",
|
||||
@"Error message shown when a profile update fails.")];
|
||||
}];
|
||||
}];
|
||||
}
|
||||
|
||||
- (NSString *)normalizedProfileName
|
||||
{
|
||||
return [self.nameTextField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
|
||||
}
|
||||
|
||||
#pragma mark - UITextFieldDelegate
|
||||
|
||||
// TODO: This logic resides in both RegistrationViewController and here.
|
||||
// We should refactor it out into a utility function.
|
||||
- (BOOL)textField:(UITextField *)textField
|
||||
shouldChangeCharactersInRange:(NSRange)range
|
||||
replacementString:(NSString *)insertionText
|
||||
|
|
|
@ -1081,6 +1081,9 @@
|
|||
/* Label for the profile name field of the profile view. */
|
||||
"PROFILE_VIEW_NAME_SECTION_HEADER" = "Profile Name";
|
||||
|
||||
/* Indicates that the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving...";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "Profile";
|
||||
|
||||
|
|
Loading…
Reference in New Issue