Merge branch 'feature/3539_logout_airplane_mode' into 'develop'

MESSENGER-3539 prevent logout and error popup when logging out

See merge request bwmessenger/bundesmessenger/bundesmessenger-ios!143
This commit is contained in:
JanNiklas Grabowski
2023-06-15 09:16:51 +00:00
5 changed files with 34 additions and 7 deletions
+1
View File
@@ -501,6 +501,7 @@
"bwi_error_invite_already_in_room" = "%@ ist bereits im Raum.";
"bwi_error_invite_banned_in_room" = "%@ ist vom Raum gebannt.";
"bwi_error_invite_general" = "%@ konnte nicht eingeladen werden.";
"bwi_error_logout_offline" = "Abmelden ist ohne Internetverbindung nicht möglich.";
// MARK: - Matomo
+1
View File
@@ -410,6 +410,7 @@
"bwi_error_invite_already_in_room" = "%@ is already in the room.";
"bwi_error_invite_banned_in_room" = "%@ is banned from the room.";
"bwi_error_invite_general" = "%@ could not be invited.";
"bwi_error_logout_offline" = "Logout not possible without internet connection.";
// MARK: - Matomo
+4
View File
@@ -211,6 +211,10 @@ public class BWIL10n: NSObject {
public static func bwiErrorInviteGeneral(_ p1: String) -> String {
return BWIL10n.tr("Bwi", "bwi_error_invite_general", p1)
}
/// Abmelden ist ohne Internetverbindung nicht möglich.
public static var bwiErrorLogoutOffline: String {
return BWIL10n.tr("Bwi", "bwi_error_logout_offline")
}
/// Du kannst jetzt aktive und vergangene Umfragen gesammelt in den Raumdetails einsehen (erreichbar unter Raumdetails, im Bereich "Umfrageverlauf").
public static var bwiFeatureBannerAdvertisementText: String {
return BWIL10n.tr("Bwi", "bwi_feature_banner_advertisement_text")
@@ -16,6 +16,14 @@
#import "MatrixKit.h"
FOUNDATION_EXPORT NSString *const BWISettingsErrorDomain;
typedef enum : NSUInteger
{
BWISettingsOfflineLogoutErrorCode
}
BWISettingsErrorCode;
@interface SettingsViewController : MXKTableViewController
+ (instancetype)instantiate;
+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