diff --git a/pass.xcodeproj/project.pbxproj b/pass.xcodeproj/project.pbxproj index 9568483..a96d099 100644 --- a/pass.xcodeproj/project.pbxproj +++ b/pass.xcodeproj/project.pbxproj @@ -710,6 +710,7 @@ A217ACE31E9BBBBD00A1A6CF /* GitConfigSettingTableViewController.swift */, DCA049991E335CC800522E8F /* GitServerSettingTableViewController.swift */, DCC441531E916382008A90C4 /* GitSSHKeyArmorSettingTableViewController.swift */, + DC8963BF1E38EEB900828B09 /* SSHKeySettingTableViewController.swift */, DC037CA51E4B883900609409 /* OpenSourceComponentsTableViewController.swift */, DC4914981E434600007FF592 /* PasswordDetailTableViewController.swift */, DCFB77A81E502FF6008DE471 /* PasswordEditorTableViewController.swift */, @@ -721,7 +722,6 @@ DCD3C65D1EFB9BB400CBE842 /* SettingsSplitViewController.swift */, DCAAF7441E2FA66800AB94BC /* SettingsTableViewController.swift */, DC037CA91E4B8EAE00609409 /* SpecialThanksTableViewController.swift */, - DC8963BF1E38EEB900828B09 /* SSHKeySettingTableViewController.swift */, ); path = Controllers; sourceTree = ""; diff --git a/pass/Controllers/GitSSHKeyArmorSettingTableViewController.swift b/pass/Controllers/GitSSHKeyArmorSettingTableViewController.swift index eaff0e1..0453822 100644 --- a/pass/Controllers/GitSSHKeyArmorSettingTableViewController.swift +++ b/pass/Controllers/GitSSHKeyArmorSettingTableViewController.swift @@ -66,6 +66,7 @@ class GitSSHKeyArmorSettingTableViewController: AutoCellHeightUITableViewControl Utils.alert(title: "CannotSave".localize(), message: "CannotSaveSshKey".localize(), controller: self, completion: nil) } SharedDefaults[.gitSSHKeySource] = .armor + SharedDefaults[.gitAuthenticationMethod] = .key self.navigationController!.popViewController(animated: true) } diff --git a/pass/Controllers/GitServerSettingTableViewController.swift b/pass/Controllers/GitServerSettingTableViewController.swift index 3019666..7371e26 100644 --- a/pass/Controllers/GitServerSettingTableViewController.swift +++ b/pass/Controllers/GitServerSettingTableViewController.swift @@ -65,7 +65,6 @@ class GitServerSettingTableViewController: UITableViewController { usernameTextField.text = self.gitUsername branchNameTextField.text = self.gitBranchName sshLabel = authSSHKeyCell.subviews[0].subviews[0] as? UILabel - updateAuthenticationMethodCheckView(for: .password) authSSHKeyCell.accessoryType = .detailButton } @@ -73,6 +72,7 @@ class GitServerSettingTableViewController: UITableViewController { super.viewWillAppear(animated) // Grey out ssh option if ssh_key is not present. sshLabel?.isEnabled = AppKeychain.shared.contains(key: SshKey.PRIVATE.getKeychainKey()) + updateAuthenticationMethodCheckView(for: gitAuthenticationMethod) } override func viewWillDisappear(_ animated: Bool) { @@ -248,6 +248,8 @@ class GitServerSettingTableViewController: UITableViewController { SVProgressHUD.showSuccess(withStatus: "Imported".localize()) SVProgressHUD.dismiss(withDelay: 1) self.sshLabel?.isEnabled = true + self.gitAuthenticationMethod = .key + self.updateAuthenticationMethodCheckView(for: self.gitAuthenticationMethod) } catch { Utils.alert(title: "Error".localize(), message: error.localizedDescription, controller: self) } diff --git a/pass/Controllers/SSHKeySettingTableViewController.swift b/pass/Controllers/SSHKeySettingTableViewController.swift index 6b27049..1687239 100644 --- a/pass/Controllers/SSHKeySettingTableViewController.swift +++ b/pass/Controllers/SSHKeySettingTableViewController.swift @@ -29,6 +29,7 @@ class SSHKeySettingTableViewController: AutoCellHeightUITableViewController { try Data(contentsOf: privateKeyURL).write(to: URL(fileURLWithPath: SshKey.PRIVATE.getFileSharingPath()), options: .atomic) try self.passwordStore.gitSSHKeyImportFromFileSharing() SharedDefaults[.gitSSHKeySource] = .file + SharedDefaults[.gitAuthenticationMethod] = .key SVProgressHUD.showSuccess(withStatus: "Imported".localize()) SVProgressHUD.dismiss(withDelay: 1) } catch { diff --git a/pass/Controllers/SettingsTableViewController.swift b/pass/Controllers/SettingsTableViewController.swift index 934f106..38ca8c1 100644 --- a/pass/Controllers/SettingsTableViewController.swift +++ b/pass/Controllers/SettingsTableViewController.swift @@ -117,13 +117,13 @@ class SettingsTableViewController: UITableViewController, UITabBarControllerDele NotificationCenter.default.addObserver(self, selector: #selector(SettingsTableViewController.actOnPasswordStoreErasedNotification), name: .passwordStoreErased, object: nil) self.passwordRepositoryTableViewCell.detailTextLabel?.text = SharedDefaults[.gitURL].host setPGPKeyTableViewCellDetailText() - setPasswordRepositoryTableViewCellDetailText() setPasscodeLockCell() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(true) tabBarController!.delegate = self + setPasswordRepositoryTableViewCellDetailText() } private func setPasscodeLockCell() { diff --git a/passKit/Models/PasswordStore.swift b/passKit/Models/PasswordStore.swift index 2cb4b23..67e5f97 100644 --- a/passKit/Models/PasswordStore.swift +++ b/passKit/Models/PasswordStore.swift @@ -198,15 +198,15 @@ public class PasswordStore { } catch { credential.delete() SharedDefaults[.lastSyncedTime] = nil - self.deleteCoreData(entityName: "PasswordEntity") DispatchQueue.main.async { + self.deleteCoreData(entityName: "PasswordEntity") NotificationCenter.default.post(name: .passwordStoreUpdated, object: nil) } throw(error) } SharedDefaults[.lastSyncedTime] = Date() - self.updatePasswordEntityCoreData() DispatchQueue.main.async { + self.updatePasswordEntityCoreData() NotificationCenter.default.post(name: .passwordStoreUpdated, object: nil) } }