Fix issue #13 ( Additions display randomly)
This commit is contained in:
parent
c5c6679f21
commit
f00f6c77b0
1 changed files with 12 additions and 15 deletions
|
|
@ -39,7 +39,7 @@ public class Password {
|
||||||
public var changed: Int = 0
|
public var changed: Int = 0
|
||||||
public var plainText = ""
|
public var plainText = ""
|
||||||
|
|
||||||
private var additions = [String: String]()
|
private var additions = [(String, String)]()
|
||||||
private var firstLineIsOTPField = false
|
private var firstLineIsOTPField = false
|
||||||
private var otpToken: Token?
|
private var otpToken: Token?
|
||||||
|
|
||||||
|
|
@ -101,7 +101,7 @@ public class Password {
|
||||||
unknownIndex += 1
|
unknownIndex += 1
|
||||||
key = "unknown \(unknownIndex)"
|
key = "unknown \(unknownIndex)"
|
||||||
}
|
}
|
||||||
self.additions[key!] = value
|
self.additions.append((key!, value))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -110,7 +110,7 @@ public class Password {
|
||||||
let (key, value) = Password.getKeyValuePair(from: self.password)
|
let (key, value) = Password.getKeyValuePair(from: self.password)
|
||||||
if Password.otpKeywords.contains(key ?? "") {
|
if Password.otpKeywords.contains(key ?? "") {
|
||||||
firstLineIsOTPField = true
|
firstLineIsOTPField = true
|
||||||
self.additions[key!] = value
|
self.additions.append((key!, value))
|
||||||
} else {
|
} else {
|
||||||
firstLineIsOTPField = false
|
firstLineIsOTPField = false
|
||||||
}
|
}
|
||||||
|
|
@ -119,13 +119,13 @@ public class Password {
|
||||||
self.updateOtpToken()
|
self.updateOtpToken()
|
||||||
}
|
}
|
||||||
|
|
||||||
public func getFilteredAdditions() -> [String: String] {
|
public func getFilteredAdditions() -> [(String, String)] {
|
||||||
var filteredAdditions = [String: String]()
|
var filteredAdditions = [(String, String)]()
|
||||||
additions.forEach { (key: String, value: String) in
|
additions.forEach { (key: String, value: String) in
|
||||||
if key.lowercased() != "username" && key.lowercased() != "login" && key.lowercased() != "password" &&
|
if key.lowercased() != "username" && key.lowercased() != "login" && key.lowercased() != "password" &&
|
||||||
(!key.hasPrefix("unknown") || !SharedDefaults[.isHideUnknownOn]) &&
|
(!key.hasPrefix("unknown") || !SharedDefaults[.isHideUnknownOn]) &&
|
||||||
(!Password.otpKeywords.contains(key) || !SharedDefaults[.isHideOTPOn]) {
|
(!Password.otpKeywords.contains(key) || !SharedDefaults[.isHideOTPOn]) {
|
||||||
filteredAdditions[key] = value
|
filteredAdditions.append((key, value))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return filteredAdditions
|
return filteredAdditions
|
||||||
|
|
@ -186,17 +186,14 @@ public class Password {
|
||||||
}
|
}
|
||||||
|
|
||||||
private func getAdditionValue(withKey key: String, caseSensitive: Bool = true) -> String? {
|
private func getAdditionValue(withKey key: String, caseSensitive: Bool = true) -> String? {
|
||||||
if caseSensitive {
|
let searchKey = caseSensitive ? key : key.lowercased()
|
||||||
return additions[key]
|
for (currentKey, value) in additions {
|
||||||
} else {
|
let currentKeyTrans = caseSensitive ? currentKey : currentKey.lowercased()
|
||||||
let searchKey = key.lowercased()
|
if searchKey == currentKeyTrans {
|
||||||
for k in additions.keys {
|
return value
|
||||||
if searchKey == k.lowercased() {
|
|
||||||
return additions[k]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue