From 8d96568ceb064c3008b6011c2ed3630e60865e6c Mon Sep 17 00:00:00 2001
From: jakob <jakob.bode@fu-berlin.de>
Date: Sun, 10 Feb 2019 17:49:27 +0100
Subject: [PATCH] show skip button only in travel intro, if user traveled

---
 enzevalos_iphone/IntroDescriptionViewController.swift | 2 +-
 enzevalos_iphone/TravelHandler.swift                  | 1 +
 enzevalos_iphone/UserData.swift                       | 4 +++-
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/enzevalos_iphone/IntroDescriptionViewController.swift b/enzevalos_iphone/IntroDescriptionViewController.swift
index c99d42fe..e8e91391 100644
--- a/enzevalos_iphone/IntroDescriptionViewController.swift
+++ b/enzevalos_iphone/IntroDescriptionViewController.swift
@@ -107,7 +107,7 @@ class IntroDescriptionViewController: UIViewController, IntroInfoButton {
         if doneAction != nil {
             self.navigationItem.setRightBarButton(UIBarButtonItem(title: doneText, style: .plain, target: self, action: #selector(doneTapped(_:))), animated: true)
         }
-        if skipAction == nil {
+        if skipAction == nil || !(UserManager.loadUserValue(.userTraveled) as? Bool ?? false)  {
             skipButton.isHidden = true
         } else {
             skipButton.isHidden = false
diff --git a/enzevalos_iphone/TravelHandler.swift b/enzevalos_iphone/TravelHandler.swift
index 010c9f5f..5ebaca65 100644
--- a/enzevalos_iphone/TravelHandler.swift
+++ b/enzevalos_iphone/TravelHandler.swift
@@ -476,6 +476,7 @@ public class TravelHandler {
                 //TODO: errorhandling
             }
             describeSecretController.navigationController?.pushViewController(secretController, animated: true)
+            UserManager.storeUserValue(true as AnyObject, attribute: .userTraveled)
         }
         secretController.navigationItem.hidesBackButton = true
         secretController.doneText = NSLocalizedString("Next", comment: "present next ViewController")
diff --git a/enzevalos_iphone/UserData.swift b/enzevalos_iphone/UserData.swift
index ac07adc3..76bb9dde 100644
--- a/enzevalos_iphone/UserData.swift
+++ b/enzevalos_iphone/UserData.swift
@@ -22,7 +22,7 @@ import KeychainAccess
 
 
 enum Attribute: Int {
-    case accountname, userName, userAddr, userPW, smtpHostname, smtpPort, imapHostname, imapPort, prefEncryption, publicKey, autocryptType, imapConnectionType, imapAuthType, smtpConnectionType, smtpAuthType, sentFolderPath, draftFolderPath, trashFolderPath, inboxFolderPath, archiveFolderPath, nextDeadline/*used for Logging; determines the earliest next time a log is send to the researchers*/, prefSecretKeyID, subjectSalt /*used for Logging; salt for the hashfunction for mail subjects*/, loggingFolderPath
+    case accountname, userName, userAddr, userPW, smtpHostname, smtpPort, imapHostname, imapPort, prefEncryption, publicKey, autocryptType, imapConnectionType, imapAuthType, smtpConnectionType, smtpAuthType, sentFolderPath, draftFolderPath, trashFolderPath, inboxFolderPath, archiveFolderPath, nextDeadline/*used for Logging; determines the earliest next time a log is send to the researchers*/, prefSecretKeyID, subjectSalt /*used for Logging; salt for the hashfunction for mail subjects*/, loggingFolderPath, userTraveled
 
     var defaultValue: AnyObject? {
         switch self {
@@ -44,6 +44,8 @@ enum Attribute: Int {
             return Date(timeIntervalSinceNow: TimeInterval(Logger.loggingInterval)) as AnyObject?
         case .loggingFolderPath: //save backendFolderPath here
             return "letterbox-study" as AnyObject?
+        case .userTraveled:
+            return false as AnyObject?
         default:
             return nil
         }
-- 
GitLab