MESSENGER-3539 prevent logout and error popup when logging out

This commit is contained in:
Frank Rotermund
2023-06-15 07:40:58 +02:00
parent 33b943d31f
commit c02589aaaf
5 changed files with 34 additions and 7 deletions
+20 -7
View File
@@ -47,6 +47,8 @@
NSString* const kSettingsViewControllerPhoneBookCountryCellId = @"kSettingsViewControllerPhoneBookCountryCellId";
NSString *const BWISettingsErrorDomain = @"BWISettingsErrorDomain";
typedef NS_ENUM(NSUInteger, SECTION_TAG)
{
SECTION_TAG_SIGN_OUT = 0,
@@ -3452,13 +3454,24 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
- (void)onSignout:(id)sender
{
self.signOutButton = (UIButton*)sender;
SignOutFlowPresenter *flowPresenter = [[SignOutFlowPresenter alloc] initWithSession:self.mainSession presentingViewController:self];
flowPresenter.delegate = self;
[flowPresenter startWithSourceView:self.signOutButton];
self.signOutFlowPresenter = flowPresenter;
// bwi (#3539) Check connectivity before login out. Logout can have strange effects when occuring without network connection
if ([AppDelegate theDelegate].isOffline)
{
NSError *error = [NSError errorWithDomain:BWISettingsErrorDomain
code:BWISettingsOfflineLogoutErrorCode
userInfo:@{
NSLocalizedDescriptionKey : BWIL10n.bwiErrorLogoutOffline
}];
[[AppDelegate theDelegate] showErrorAsAlert:error];
} else {
self.signOutButton = (UIButton*)sender;
SignOutFlowPresenter *flowPresenter = [[SignOutFlowPresenter alloc] initWithSession:self.mainSession presentingViewController:self];
flowPresenter.delegate = self;
[flowPresenter startWithSourceView:self.signOutButton];
self.signOutFlowPresenter = flowPresenter;
}
}
- (void)onRemove3PID:(NSIndexPath*)indexPath