MESSENGER-4203 show user qr

This commit is contained in:
Arnfried Griesert
2023-03-24 07:35:38 +00:00
parent 57de18502d
commit f2e2e766a0
6 changed files with 206 additions and 0 deletions
@@ -81,6 +81,7 @@ typedef NS_ENUM(NSUInteger, USER_SETTINGS_INDEX)
USER_SETTINGS_DISPLAYNAME_INDEX,
USER_SETTINGS_PERSONAL_STATE_INDEX,
USER_SETTINGS_CHANGE_PASSWORD_INDEX,
USER_SETTINGS_MY_QR_CODE_INDEX,
USER_SETTINGS_FIRST_NAME_INDEX,
USER_SETTINGS_SURNAME_INDEX,
USER_SETTINGS_ADD_EMAIL_INDEX,
@@ -273,6 +274,9 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
__weak id notificationCenterDidUpdateObserver;
__weak id notificationCenterDidFailObserver;
// bwi: 4203 reference to profile image view
__weak MXKImageView* bwiProfileImage;
// profile updates
// avatar
UIImage* newAvatarImage;
@@ -421,6 +425,10 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
{
[sectionUserSettings addRowWithTag:USER_SETTINGS_CHANGE_PASSWORD_INDEX];
}
if (BWIBuildSettings.shared.showMyQRCode)
{
[sectionUserSettings addRowWithTag:USER_SETTINGS_MY_QR_CODE_INDEX];
}
if (BuildSettings.settingsScreenShowUserFirstName)
{
[sectionUserSettings addRowWithTag:USER_SETTINGS_FIRST_NAME_INDEX];
@@ -1918,6 +1926,9 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
{
MXKTableViewCellWithLabelAndMXKImageView *profileCell = [tableView dequeueReusableCellWithIdentifier:[MXKTableViewCellWithLabelAndMXKImageView defaultReuseIdentifier] forIndexPath:indexPath];
// bwi: keep reference to cell image view
bwiProfileImage = profileCell.mxkImageView;
profileCell.mxkLabelLeadingConstraint.constant = tableView.vc_separatorInset.left;
profileCell.mxkImageViewTrailingConstraint.constant = 10;
@@ -2178,6 +2189,13 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
cell = passwordCell;
}
else if (row == USER_SETTINGS_MY_QR_CODE_INDEX)
{
MXKTableViewCell *showMyQRCodeCell = [self getDefaultTableViewCell:tableView];
showMyQRCodeCell.textLabel.text = BWIL10n.showMyQrSettingsTitle;
[showMyQRCodeCell vc_setAccessoryDisclosureIndicatorWithCurrentTheme];
cell = showMyQRCodeCell;
}
}
else if (section == SECTION_TAG_NEW_FEATURES)
{
@@ -3339,6 +3357,10 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
{
[self displayPasswordAlert];
}
else if (row == USER_SETTINGS_MY_QR_CODE_INDEX)
{
[self showMyQRCode];
}
else if (row == USER_SETTINGS_ADD_EMAIL_INDEX)
{
if (!self.newEmailEditingEnabled)
@@ -4659,6 +4681,24 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
[self.changePasswordBridgePresenter presentFrom:self animated:YES];
}
// bwi: 4203
- (void)showMyQRCode
{
MXKAccount* account = [MXKAccountManager sharedManager].activeAccounts.firstObject;
MXMyUser* myUser = account.mxSession.myUser;
UIImage* avatarImage = [bwiProfileImage image];
UIViewController *myQRCodeViewController;
if( avatarImage ) {
myQRCodeViewController = [MyQRCodeViewController createFromSwiftUIViewWithMatrixID: myUser.userId displayName: myUser.displayname avatarUIImage: bwiProfileImage.image];
} else {
myQRCodeViewController = [MyQRCodeViewController createFromSwiftUIViewWithMatrixID: myUser.userId displayName: myUser.displayname];
}
[[self.navigationController navigationBar] setPrefersLargeTitles:NO];
[self pushViewController:myQRCodeViewController];
}
#pragma mark - MXKCountryPickerViewControllerDelegate
- (void)countryPickerViewController:(MXKCountryPickerViewController *)countryPickerViewController didSelectCountry:(NSString *)isoCountryCode