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 plainText = ""
|
||||
|
||||
private var additions = [String: String]()
|
||||
private var additions = [(String, String)]()
|
||||
private var firstLineIsOTPField = false
|
||||
private var otpToken: Token?
|
||||
|
||||
|
|
@ -101,7 +101,7 @@ public class Password {
|
|||
unknownIndex += 1
|
||||
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)
|
||||
if Password.otpKeywords.contains(key ?? "") {
|
||||
firstLineIsOTPField = true
|
||||
self.additions[key!] = value
|
||||
self.additions.append((key!, value))
|
||||
} else {
|
||||
firstLineIsOTPField = false
|
||||
}
|
||||
|
|
@ -119,13 +119,13 @@ public class Password {
|
|||
self.updateOtpToken()
|
||||
}
|
||||
|
||||
public func getFilteredAdditions() -> [String: String] {
|
||||
var filteredAdditions = [String: String]()
|
||||
public func getFilteredAdditions() -> [(String, String)] {
|
||||
var filteredAdditions = [(String, String)]()
|
||||
additions.forEach { (key: String, value: String) in
|
||||
if key.lowercased() != "username" && key.lowercased() != "login" && key.lowercased() != "password" &&
|
||||
(!key.hasPrefix("unknown") || !SharedDefaults[.isHideUnknownOn]) &&
|
||||
(!Password.otpKeywords.contains(key) || !SharedDefaults[.isHideOTPOn]) {
|
||||
filteredAdditions[key] = value
|
||||
filteredAdditions.append((key, value))
|
||||
}
|
||||
}
|
||||
return filteredAdditions
|
||||
|
|
@ -186,17 +186,14 @@ public class Password {
|
|||
}
|
||||
|
||||
private func getAdditionValue(withKey key: String, caseSensitive: Bool = true) -> String? {
|
||||
if caseSensitive {
|
||||
return additions[key]
|
||||
} else {
|
||||
let searchKey = key.lowercased()
|
||||
for k in additions.keys {
|
||||
if searchKey == k.lowercased() {
|
||||
return additions[k]
|
||||
}
|
||||
let searchKey = caseSensitive ? key : key.lowercased()
|
||||
for (currentKey, value) in additions {
|
||||
let currentKeyTrans = caseSensitive ? currentKey : currentKey.lowercased()
|
||||
if searchKey == currentKeyTrans {
|
||||
return value
|
||||
}
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue