From fe1c01c6dc7b7c137b35f3347bb5dec4e9aec914 Mon Sep 17 00:00:00 2001 From: Bob Sun Date: Tue, 14 Feb 2017 11:16:30 +0800 Subject: [PATCH] Hide unknown fields --- pass.xcodeproj/project.pbxproj | 6 ++--- .../GeneralSettingsTableViewController.swift | 24 +++++++++++++++++++ .../PasswordDetailTableViewController.swift | 6 ++++- pass/Helpers/DefaultsKeys.swift | 3 +++ pass/Info.plist | 2 +- pass/Models/Password.swift | 8 +++---- 6 files changed, 40 insertions(+), 9 deletions(-) diff --git a/pass.xcodeproj/project.pbxproj b/pass.xcodeproj/project.pbxproj index 6cbe651..3a855aa 100644 --- a/pass.xcodeproj/project.pbxproj +++ b/pass.xcodeproj/project.pbxproj @@ -299,7 +299,7 @@ TargetAttributes = { DC917BD21E2E8231000FDF54 = { CreatedOnToolsVersion = 8.2.1; - DevelopmentTeam = 779BQYPRCF; + DevelopmentTeam = 4WDM8E95VU; ProvisioningStyle = Automatic; }; }; @@ -571,7 +571,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEFINES_MODULE = NO; - DEVELOPMENT_TEAM = 779BQYPRCF; + DEVELOPMENT_TEAM = 4WDM8E95VU; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", @@ -600,7 +600,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEFINES_MODULE = NO; - DEVELOPMENT_TEAM = 779BQYPRCF; + DEVELOPMENT_TEAM = 4WDM8E95VU; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", diff --git a/pass/Controllers/GeneralSettingsTableViewController.swift b/pass/Controllers/GeneralSettingsTableViewController.swift index 91d8652..21759c7 100644 --- a/pass/Controllers/GeneralSettingsTableViewController.swift +++ b/pass/Controllers/GeneralSettingsTableViewController.swift @@ -7,15 +7,39 @@ // import UIKit +import SwiftyUserDefaults class GeneralSettingsTableViewController: BasicStaticTableViewController { + + let hideUnknownSwitch = UISwitch(frame: CGRect.zero) override func viewDidLoad() { navigationItemTitle = "General" tableData = [ // section 0 [[.title: "About Repository", .action: "segue", .link: "showAboutRepositorySegue"],], + [[.title: "Hide Unkonwn Fields", .action: "none",],], + ] super.viewDidLoad() + } + + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = super.tableView(tableView, cellForRowAt: indexPath) + if indexPath == IndexPath(row: 0, section: 1) { + cell.accessoryType = .none + hideUnknownSwitch.onTintColor = UIColor(displayP3Red: 0, green: 122.0/255, blue: 1, alpha: 1) + cell.accessoryView = hideUnknownSwitch + cell.selectionStyle = .none + hideUnknownSwitch.addTarget(self, action: #selector(hideUnknownSwitchAction(_:)), for: UIControlEvents.valueChanged) + hideUnknownSwitch.isOn = Defaults[.isHideUnknownOn] + } + return cell + } + + func hideUnknownSwitchAction(_ sender: Any?) { + Defaults[.isHideUnknownOn] = hideUnknownSwitch.isOn + } + } diff --git a/pass/Controllers/PasswordDetailTableViewController.swift b/pass/Controllers/PasswordDetailTableViewController.swift index 7d21ccc..228c9e3 100644 --- a/pass/Controllers/PasswordDetailTableViewController.swift +++ b/pass/Controllers/PasswordDetailTableViewController.swift @@ -8,6 +8,7 @@ import UIKit import FavIcon +import SwiftyUserDefaults class PasswordDetailTableViewController: UITableViewController, UIGestureRecognizerDelegate { var passwordEntity: PasswordEntity? @@ -147,7 +148,10 @@ class PasswordDetailTableViewController: UITableViewController, UIGestureRecogni self.tableData.append(TableSection(title: "additions", item: [])) tableDataIndex += 1 for additionKey in password.additionKeys { - self.tableData[tableDataIndex].item.append(TableCell(title: additionKey, content: password.additions[additionKey]!)) + if !additionKey.contains("unknown") || !Defaults[.isHideUnknownOn] { + self.tableData[tableDataIndex].item.append(TableCell(title: additionKey, content: password.additions[additionKey]!)) + + } } } diff --git a/pass/Helpers/DefaultsKeys.swift b/pass/Helpers/DefaultsKeys.swift index 82db734..08bb76a 100644 --- a/pass/Helpers/DefaultsKeys.swift +++ b/pass/Helpers/DefaultsKeys.swift @@ -29,4 +29,7 @@ extension DefaultsKeys { static let isTouchIDOn = DefaultsKey("isTouchIDOn") static let passcodeKey = DefaultsKey("passcodeKey") + + static let isHideUnknownOn = DefaultsKey("isHideUnknownOn") + } diff --git a/pass/Info.plist b/pass/Info.plist index a6923e9..bab9d88 100644 --- a/pass/Info.plist +++ b/pass/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion en CFBundleDisplayName - Pass + Pass for iOS CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/pass/Models/Password.swift b/pass/Models/Password.swift index a4453b8..4e6ab36 100644 --- a/pass/Models/Password.swift +++ b/pass/Models/Password.swift @@ -57,17 +57,17 @@ class Password { static func getAdditionFields(from additionFieldsPlainText: String) -> [AdditionField]{ var additionFieldsArray = [AdditionField]() - var unkownIndex = 0 + var unknownIndex = 0 additionFieldsPlainText.enumerateLines() { line, _ in let items = line.characters.split(separator: ":", maxSplits: 1, omittingEmptySubsequences: true).map(String.init) var key = "" var value = "" if items.count == 1 { - unkownIndex += 1 - key = "unkown \(unkownIndex)" + unknownIndex += 1 + key = "unknown \(unknownIndex)" value = items[0] - } else { + } else if items.count == 2 { key = items[0] value = items[1].trimmingCharacters(in: .whitespaces) }