From 94e598879405ab6a04d9021bc5d7d967603a604b Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 19 Aug 2019 15:17:00 +0200 Subject: [PATCH] Fix remove entry for databaseV1 --- .../com/kunzisoft/keepass/adapters/NodeAdapter.kt | 2 +- .../keepass/database/element/Database.kt | 14 ++++++-------- .../keepass/database/element/GroupVersioned.kt | 15 +++++++++------ .../keepass/database/element/NodeVersioned.kt | 2 +- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/adapters/NodeAdapter.kt b/app/src/main/java/com/kunzisoft/keepass/adapters/NodeAdapter.kt index 852a8aac3..581691bd8 100644 --- a/app/src/main/java/com/kunzisoft/keepass/adapters/NodeAdapter.kt +++ b/app/src/main/java/com/kunzisoft/keepass/adapters/NodeAdapter.kt @@ -258,7 +258,7 @@ class NodeAdapter if (subNode.type == Type.GROUP) { if (showNumberEntries) { holder.numberChildren?.apply { - text = (subNode as GroupVersioned).getChildEntries().size.toString() + text = (subNode as GroupVersioned).getChildEntries(true).size.toString() textSize = infoTextSize visibility = View.VISIBLE } diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt index ed1e9ec92..8954abf88 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt @@ -304,14 +304,12 @@ class Database { val searchResult = search(query, SearchDbHelper.MAX_SEARCH_ENTRY) if (searchResult != null) { - for (entry in searchResult.getChildEntries()) { - if (!entry.isMetaStream) { // TODO metastream - entry.pwEntryV3?.let { - cursorV3?.addEntry(it) - } - entry.pwEntryV4?.let { - cursorV4?.addEntry(it) - } + for (entry in searchResult.getChildEntries(true)) { + entry.pwEntryV3?.let { + cursorV3?.addEntry(it) + } + entry.pwEntryV4?.let { + cursorV4?.addEntry(it) } } } diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/GroupVersioned.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/GroupVersioned.kt index 22c179e43..3673e9cfb 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/GroupVersioned.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/GroupVersioned.kt @@ -179,10 +179,16 @@ class GroupVersioned : NodeVersioned, PwGroupInterface { + return getChildEntries(false) + } + + fun getChildEntries(withoutMetaStream: Boolean): MutableList { val children = ArrayList() pwGroupV3?.getChildEntries()?.forEach { - children.add(EntryVersioned(it)) + val entryToAddAsChild = EntryVersioned(it) + if (!withoutMetaStream || (withoutMetaStream && !entryToAddAsChild.isMetaStream)) + children.add(entryToAddAsChild) } pwGroupV4?.getChildEntries()?.forEach { children.add(EntryVersioned(it)) @@ -200,14 +206,11 @@ class GroupVersioned : NodeVersioned, PwGroupInterface { val nodePositionInParent: Int get() { - parent?.getChildren(false)?.let { children -> + parent?.getChildren(true)?.let { children -> for ((i, child) in children.withIndex()) { if (child == this) return i