From 3c5dd5738de5f14932c49d2426e6d6199b19df4d Mon Sep 17 00:00:00 2001 From: jakobsbode <jakobsbode@mi.fu-berlin.de> Date: Fri, 26 May 2017 16:23:25 +0200 Subject: [PATCH] do not present connectionDetails, if the first time credentials failed in Onboarding. --- enzevalos_iphone/AppDelegate.swift | 10 +++++++++- enzevalos_iphone/Onboarding.swift | 18 ++++++++++++++++-- enzevalos_iphone/de.lproj/Localizable.strings | 1 + enzevalos_iphone/en.lproj/Localizable.strings | 1 + 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/enzevalos_iphone/AppDelegate.swift b/enzevalos_iphone/AppDelegate.swift index eaa8e8f0..5357a730 100644 --- a/enzevalos_iphone/AppDelegate.swift +++ b/enzevalos_iphone/AppDelegate.swift @@ -44,7 +44,15 @@ class AppDelegate: UIResponder, UIApplicationDelegate { } func credentialsFailed(){ - self.window?.rootViewController = Onboarding.detailOnboarding(self.credentialCheck) + Onboarding.credentialFails += 1 + if Onboarding.credentialFails >= 3 { + self.window?.rootViewController = Onboarding.detailOnboarding(self.credentialCheck) + } + else { + let contr = (Onboarding.onboarding(self.credentialCheck) as! OnboardingViewController) + self.window?.rootViewController = contr + contr.gotoLastPage() + } } func credentialsWork() { diff --git a/enzevalos_iphone/Onboarding.swift b/enzevalos_iphone/Onboarding.swift index 09f7eca3..690d5f9e 100644 --- a/enzevalos_iphone/Onboarding.swift +++ b/enzevalos_iphone/Onboarding.swift @@ -45,6 +45,8 @@ class Onboarding: NSObject { static var fail: () -> () = { Void in } static var work: () -> () = { Void in } + + static var credentialFails = 0 static var authenticationRows: [Int: String] = [MCOAuthType.saslLogin.rawValue: "Login", MCOAuthType.saslPlain.rawValue: NSLocalizedString("NormalPassword", comment: ""), MCOAuthType.SASLSRP.rawValue: "SRP", MCOAuthType.SASLCRAMMD5.rawValue: "CRAMMD5", MCOAuthType.SASLDIGESTMD5.rawValue: "DIGESTMD5", MCOAuthType.SASLNTLM.rawValue: "NTLM", MCOAuthType.SASLGSSAPI.rawValue: "GSSAPI", MCOAuthType.saslKerberosV4.rawValue: "KerberosV4"] static var transportRows: [Int: String] = [MCOConnectionType.clear.rawValue: NSLocalizedString("Plaintext", comment: ""), MCOConnectionType.startTLS.rawValue: "StartTLS", MCOConnectionType.TLS.rawValue: "TLS"] @@ -151,8 +153,15 @@ class Onboarding: NSObject { credentials.addSubview(password) credentials.addSubview(passwordUnderline) - let page3 = OnboardingContentViewController.content(withTitle: nil, body: NSLocalizedString("InsertMailAddressAndPassword", comment: ""), videoURL: nil, inputView: credentials, buttonText: NSLocalizedString("next", comment: ""), actionBlock: callback) + var bodyText = NSLocalizedString("InsertMailAddressAndPassword", comment: "") + if self.credentialFails > 0 { + bodyText = NSLocalizedString("WrongMailAddressOrPassword", comment: "") + } + let page3 = OnboardingContentViewController.content(withTitle: nil, body: bodyText, videoURL: nil, inputView: credentials, buttonText: NSLocalizedString("next", comment: ""), actionBlock: callback) page3.topPadding = 0 + if self.credentialFails > 0 { + page3.bodyLabel.textColor = UIColor.orange + } //page3.onlyInputView = true //let page4 = OnboardingContentViewController.content(withTitle: NSLocalizedString("EverythingCorrect", comment: ""), body: nil, videoURL: nil, inputView: nil, buttonText: NSLocalizedString("next", comment: ""), actionBlock: callback) @@ -163,7 +172,7 @@ class Onboarding: NSObject { //vc?.backgroundImage = postcardBg vc?.shouldFadeTransitions = true //vc?.shouldMaskBackground = false - + let duration = 0.5 intro2.viewWillAppearBlock = { @@ -201,6 +210,10 @@ class Onboarding: NSObject { }) } + if self.credentialFails > 0 { + //vc!.pageControl.currentPage = (vc?.pageControl.numberOfPages)!-1 + } + return vc! } @@ -609,6 +622,7 @@ class Onboarding: NSObject { } static func keyHandling() { + self.credentialFails = 0 for encType in iterateEnum(EncryptionType.self) { if let enc = EnzevalosEncryptionHandler.getEncryption(encType) { enc.removeAllKeys() diff --git a/enzevalos_iphone/de.lproj/Localizable.strings b/enzevalos_iphone/de.lproj/Localizable.strings index 18d2e2cd..21ca3628 100644 --- a/enzevalos_iphone/de.lproj/Localizable.strings +++ b/enzevalos_iphone/de.lproj/Localizable.strings @@ -99,6 +99,7 @@ "TwoDaysAgo" = "Vorgestern"; "Username" = "Nutzername"; "WhatAShame" = "Schade!"; +"WrongMailAddressOrPassword" = "Die E-Mail-Adresse oder das Passwort waren falsch. Bitte probiere es erneut!"; "write" = "verfassen"; "Yesterday" = "Gestern"; "NoFurtherMessages" = "Keine weiteren Nachrichten..."; diff --git a/enzevalos_iphone/en.lproj/Localizable.strings b/enzevalos_iphone/en.lproj/Localizable.strings index a5f79207..7353cf27 100644 --- a/enzevalos_iphone/en.lproj/Localizable.strings +++ b/enzevalos_iphone/en.lproj/Localizable.strings @@ -98,6 +98,7 @@ "TwoDaysAgo" = "2 days ago"; "Username" = "Username"; "WhatAShame" = "What a shame!"; +"WrongMailAddressOrPassword" = "Email address or password were wrong. Please try again!"; "write" = "write"; "Yesterday" = "yesterday"; "NoFurtherMessages" = "No further messages..."; -- GitLab