diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt index 7e0bffaf2..0491be68f 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt @@ -310,10 +310,7 @@ class EntryActivity : LockingActivity() { if (entry.allowCustomFields()) { entryContentsView?.clearExtraFields() - for (element in entry.customFields.entries) { - val label = element.key - val value = element.value - + for ((label, value) in entry.customFields) { val allowCopyProtectedField = !value.isProtected || allowCopyPasswordAndProtectedFields if (allowCopyProtectedField) { entryContentsView?.addExtraField(label, value, allowCopyProtectedField, View.OnClickListener { diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/entry/AutoType.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/entry/AutoType.kt index 2164a30d0..b4b2419a1 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/entry/AutoType.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/entry/AutoType.kt @@ -25,14 +25,12 @@ import android.os.Parcelable import com.kunzisoft.keepass.utils.ParcelableUtil import com.kunzisoft.keepass.utils.UnsignedInt -import java.util.HashMap - class AutoType : Parcelable { var enabled = true var obfuscationOptions = OBF_OPT_NONE var defaultSequence = "" - private var windowSeqPairs = HashMap() + private var windowSeqPairs = LinkedHashMap() constructor() diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDBX.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDBX.kt index ae03d3fc4..30c05ef3b 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDBX.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDBX.kt @@ -36,6 +36,7 @@ import com.kunzisoft.keepass.database.element.security.ProtectedString import com.kunzisoft.keepass.utils.ParcelableUtil import com.kunzisoft.keepass.utils.UnsignedLong import java.util.* +import kotlin.collections.LinkedHashMap class EntryKDBX : EntryVersioned, NodeKDBXInterface { @@ -58,9 +59,9 @@ class EntryKDBX : EntryVersioned, NodeKDBXInte super.icon = value } var iconCustom = IconImageCustom.UNKNOWN_ICON - private var customData = HashMap() - var fields = HashMap() - var binaries = HashMap() + private var customData = LinkedHashMap() + var fields = LinkedHashMap() + var binaries = LinkedHashMap() var foregroundColor = "" var backgroundColor = "" var overrideURL = "" @@ -260,13 +261,11 @@ class EntryKDBX : EntryVersioned, NodeKDBXInte || key == STR_NOTES) } - var customFields = HashMap() + var customFields = LinkedHashMap() get() { field.clear() - for (entry in fields.entries) { - val key = entry.key - val value = entry.value - if (!isStandardField(entry.key)) { + for ((key, value) in fields) { + if (!isStandardField(key)) { field[key] = ProtectedString(value.isProtected, decodeRefKey(mDecodeRef, key)) } } diff --git a/app/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt b/app/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt index c6d20dc55..1c3c0e069 100644 --- a/app/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt +++ b/app/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt @@ -22,6 +22,7 @@ package com.kunzisoft.keepass.utils import android.os.Parcel import android.os.Parcelable import java.util.* +import kotlin.collections.LinkedHashMap object ParcelableUtil { @@ -51,7 +52,7 @@ object ParcelableUtil { // For writing map with string key to a Parcel fun writeStringParcelableMap( - parcel: Parcel, flags: Int, map: Map) { + parcel: Parcel, flags: Int, map: LinkedHashMap) { parcel.writeInt(map.size) for ((key, value) in map) { parcel.writeString(key) @@ -61,9 +62,9 @@ object ParcelableUtil { // For reading map with string key from a Parcel fun readStringParcelableMap( - parcel: Parcel, vClass: Class): HashMap { + parcel: Parcel, vClass: Class): LinkedHashMap { val size = parcel.readInt() - val map = HashMap(size) + val map = LinkedHashMap(size) for (i in 0 until size) { val key: String? = parcel.readString() val value: V? = vClass.cast(parcel.readParcelable(vClass.classLoader)) @@ -75,7 +76,7 @@ object ParcelableUtil { // For writing map with string key and string value to a Parcel - fun writeStringParcelableMap(dest: Parcel, map: Map) { + fun writeStringParcelableMap(dest: Parcel, map: LinkedHashMap) { dest.writeInt(map.size) for ((key, value) in map) { dest.writeString(key) @@ -84,9 +85,9 @@ object ParcelableUtil { } // For reading map with string key and string value from a Parcel - fun readStringParcelableMap(parcel: Parcel): HashMap { + fun readStringParcelableMap(parcel: Parcel): LinkedHashMap { val size = parcel.readInt() - val map = HashMap(size) + val map = LinkedHashMap(size) for (i in 0 until size) { val key: String? = parcel.readString() val value: String? = parcel.readString()