Fix #340: Always end password entries with a newline

This commit is contained in:
Danny Moesch 2019-12-10 23:20:59 +01:00 committed by Mingshen Sun
parent 283a32f6cd
commit b60ce3b003
4 changed files with 15 additions and 13 deletions

View file

@ -49,11 +49,6 @@ class AddPasswordTableViewController: PasswordEditorTableViewController {
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
super.prepare(for: segue, sender: sender)
if segue.identifier == "saveAddPasswordSegue" {
var plainText = (fillPasswordCell?.getContent())!
if let additionsString = additionsCell?.getContent(), additionsString.isEmpty == false {
plainText.append("\n")
plainText.append(additionsString)
}
let (name, url) = getNameURL()
password = Password(name: name, url: url, plainText: plainText)
}

View file

@ -38,14 +38,10 @@ class EditPasswordTableViewController: PasswordEditorTableViewController {
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
super.prepare(for: segue, sender: sender)
if segue.identifier == "saveEditPasswordSegue" {
var plainText = (fillPasswordCell?.getContent())!
if let additionsString = additionsCell?.getContent(), additionsString.isEmpty == false {
plainText.append("\n")
plainText.append(additionsString)
}
let editedPlainText = plainText
let (name, url) = getNameURL()
if password!.plainText != plainText || password!.url.path != url.path {
password!.updatePassword(name: name, url: url, plainText: plainText)
if password!.plainText != editedPlainText || password!.url.path != url.path {
password!.updatePassword(name: name, url: url, plainText: editedPlainText)
}
}
}

View file

@ -43,6 +43,18 @@ class PasswordEditorTableViewController: UITableViewController, FillPasswordTabl
private var scanQRCodeCell: UITableViewCell?
private var memorablePasswordGeneratorCell: UITableViewCell?
var plainText: String {
var plainText = (fillPasswordCell?.getContent())!
if let additionsString = additionsCell?.getContent(), !additionsString.isEmpty {
plainText.append("\n")
plainText.append(additionsString)
}
if !plainText.trimmingCharacters(in: .whitespaces).hasSuffix("\n") {
plainText.append("\n")
}
return plainText
}
override func loadView() {
super.loadView()

View file

@ -79,7 +79,6 @@ public class Password {
initEverything()
}
public func updatePassword(name: String, url: URL, plainText: String) {
guard self.plainText != plainText || self.url != url else {
return