diff --git a/enzevalos_iphone/AppDelegate.swift b/enzevalos_iphone/AppDelegate.swift index eaa8e8f0898c40112fba530a463d4bd7f5d7b36a..5357a730494dd63e97988a3340ce94a5e5be0b4e 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 09f7eca3f766e56488ba4638d80aafd0787ed29f..690d5f9e6708463fedab2af896ba8835de901c9c 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 18d2e2cda88a073fc9a266769bbd3365a1dc041d..21ca36284b3ff339ed008eec46c915d1076d159a 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 a5f7920706378fb1aaa47935e9d3a3595b6a2f82..7353cf2712cd9d2bbf3bf0684bec73944994aba0 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...";