From c7cba3f50b4ba7e661eb495f6e8bc3f8532216e9 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 8 Mar 2021 20:07:16 +0100 Subject: [PATCH] Fix notes in group --- .../kunzisoft/keepass/activities/GroupActivity.kt | 12 +++++++----- .../activities/dialogs/GroupEditDialogFragment.kt | 7 +++---- .../com/kunzisoft/keepass/database/element/Group.kt | 8 +++++--- .../keepass/database/element/group/GroupKDB.kt | 4 ---- .../keepass/database/element/group/GroupKDBX.kt | 4 ---- .../element/group/GroupVersionedInterface.kt | 2 -- 6 files changed, 15 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt index 639d3ae4f..4bc8e2bc1 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt @@ -204,9 +204,11 @@ class GroupActivity : LockingActivity(), // Add listeners to the add buttons addNodeButtonView?.setAddGroupClickListener { - GroupEditDialogFragment.build() - .show(supportFragmentManager, - GroupEditDialogFragment.TAG_CREATE_GROUP) + GroupEditDialogFragment.create(GroupInfo().apply { + if (mCurrentGroup?.allowAddNoteInGroup == true) { + notes = "" + } + }).show(supportFragmentManager, GroupEditDialogFragment.TAG_CREATE_GROUP) } addNodeButtonView?.setAddEntryClickListener { mCurrentGroup?.let { currentGroup -> @@ -552,7 +554,7 @@ class GroupActivity : LockingActivity(), val addGroupEnabled = !mReadOnly && mCurrentGroup?.isVirtual != true var addEntryEnabled = !mReadOnly && mCurrentGroup?.isVirtual != true mCurrentGroup?.let { - if (!it.allowAddEntryIfIsRoot()) + if (!it.allowAddEntryIfIsRoot) addEntryEnabled = it != mRootGroup && addEntryEnabled } enableAddGroup(addGroupEnabled) @@ -779,7 +781,7 @@ class GroupActivity : LockingActivity(), when (node.type) { Type.GROUP -> { mOldGroupToUpdate = node as Group - GroupEditDialogFragment.build(mOldGroupToUpdate!!.getGroupInfo()) + GroupEditDialogFragment.update(mOldGroupToUpdate!!.getGroupInfo()) .show(supportFragmentManager, GroupEditDialogFragment.TAG_CREATE_GROUP) } diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupEditDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupEditDialogFragment.kt index 1fcac4bdc..edf4917af 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupEditDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupEditDialogFragment.kt @@ -113,8 +113,6 @@ class GroupEditDialogFragment : DialogFragment() { arguments?.apply { if (containsKey(KEY_ACTION_ID)) mEditGroupDialogAction = EditGroupDialogAction.getActionFromOrdinal(getInt(KEY_ACTION_ID)) - if (mEditGroupDialogAction === CREATION) - mGroupInfo.notes = "" if (containsKey(KEY_GROUP_INFO)) { mGroupInfo = getParcelable(KEY_GROUP_INFO) ?: mGroupInfo } @@ -241,15 +239,16 @@ class GroupEditDialogFragment : DialogFragment() { const val KEY_ACTION_ID = "KEY_ACTION_ID" const val KEY_GROUP_INFO = "KEY_GROUP_INFO" - fun build(): GroupEditDialogFragment { + fun create(groupInfo: GroupInfo): GroupEditDialogFragment { val bundle = Bundle() bundle.putInt(KEY_ACTION_ID, CREATION.ordinal) + bundle.putParcelable(KEY_GROUP_INFO, groupInfo) val fragment = GroupEditDialogFragment() fragment.arguments = bundle return fragment } - fun build(groupInfo: GroupInfo): GroupEditDialogFragment { + fun update(groupInfo: GroupInfo): GroupEditDialogFragment { val bundle = Bundle() bundle.putInt(KEY_ACTION_ID, UPDATE.ordinal) bundle.putParcelable(KEY_GROUP_INFO, groupInfo) diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/Group.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/Group.kt index e4353a227..f5f06332a 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/Group.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/Group.kt @@ -348,9 +348,11 @@ class Group : Node, GroupVersionedInterface { groupKDBX?.removeChildren() } - override fun allowAddEntryIfIsRoot(): Boolean { - return groupKDB?.allowAddEntryIfIsRoot() ?: groupKDBX?.allowAddEntryIfIsRoot() ?: false - } + val allowAddEntryIfIsRoot: Boolean + get() = groupKDBX != null + + val allowAddNoteInGroup: Boolean + get() = groupKDBX != null /* ------------ diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDB.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDB.kt index 2a44ab229..a220c1655 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDB.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDB.kt @@ -82,10 +82,6 @@ class GroupKDB : GroupVersioned, NodeKDBInterface this.nodeId = NodeIdInt(groupId) } - override fun allowAddEntryIfIsRoot(): Boolean { - return false - } - companion object { @JvmField diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDBX.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDBX.kt index 9e5846906..450524a04 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDBX.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDBX.kt @@ -125,10 +125,6 @@ class GroupKDBX : GroupVersioned, NodeKDBXInte return customData.isNotEmpty() } - override fun allowAddEntryIfIsRoot(): Boolean { - return true - } - companion object { @JvmField diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupVersionedInterface.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupVersionedInterface.kt index 7e3db5f09..f4450dbf5 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupVersionedInterface.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/group/GroupVersionedInterface.kt @@ -38,8 +38,6 @@ interface GroupVersionedInterface, fun removeChildren() - fun allowAddEntryIfIsRoot(): Boolean - @Suppress("UNCHECKED_CAST") fun doForEachChildAndForIt(entryHandler: NodeHandler, groupHandler: NodeHandler) {