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 831bc6c0d..6bbffb543 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt @@ -95,7 +95,6 @@ class GroupActivity : LockingActivity(), private val mGroupViewModel: GroupViewModel by viewModels() private val mGroupEditViewModel: GroupEditViewModel by viewModels() - // TODO Remove and pass through viewModel private var mGroupFragment: GroupFragment? = null private var mRecyclingBinEnabled = false private var mRecyclingBinIsCurrentGroup = false @@ -728,28 +727,11 @@ class GroupActivity : LockingActivity(), mGroupFragment?.actionNodesCallback( database, nodes, - this, - object : ActionMode.Callback { - override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean { - return true - } - - override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean { - return true - } - - override fun onActionItemClicked( - mode: ActionMode?, - item: MenuItem? - ): Boolean { - return false - } - - override fun onDestroyActionMode(mode: ActionMode?) { - actionNodeMode = null - addNodeButtonView?.showButton() - } - })?.let { + this + ) { _ -> + actionNodeMode = null + addNodeButtonView?.showButton() + }?.let { actionNodeMode = toolbarAction?.startSupportActionMode(it) } } else { diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt index 54e3585a5..3950c3a79 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt @@ -356,14 +356,14 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen fun actionNodesCallback(database: Database, nodes: List, menuListener: NodesActionMenuListener?, - actionModeCallback: ActionMode.Callback) : ActionMode.Callback { + onDestroyActionMode: (mode: ActionMode?) -> Unit) : ActionMode.Callback { return object : ActionMode.Callback { override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean { nodeActionSelectionMode = false nodeActionPasteMode = PasteMode.UNDEFINED - return actionModeCallback.onCreateActionMode(mode, menu) + return true } override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean { @@ -408,7 +408,7 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen // Add the number of items selected in title mode?.title = nodes.size.toString() - return actionModeCallback.onPrepareActionMode(mode, menu) + return true } override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean { @@ -438,7 +438,7 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen nodeActionSelectionMode = false returnValue } - else -> actionModeCallback.onActionItemClicked(mode, item) + else -> false } } @@ -448,7 +448,7 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen mAdapter?.unselectActionNodes() nodeActionPasteMode = PasteMode.UNDEFINED nodeActionSelectionMode = false - actionModeCallback.onDestroyActionMode(mode) + onDestroyActionMode(mode) } } } diff --git a/app/src/main/java/com/kunzisoft/keepass/viewmodels/GroupViewModel.kt b/app/src/main/java/com/kunzisoft/keepass/viewmodels/GroupViewModel.kt index 78330569e..d2500ce9c 100644 --- a/app/src/main/java/com/kunzisoft/keepass/viewmodels/GroupViewModel.kt +++ b/app/src/main/java/com/kunzisoft/keepass/viewmodels/GroupViewModel.kt @@ -26,6 +26,7 @@ import com.kunzisoft.keepass.activities.GroupActivity import com.kunzisoft.keepass.app.database.IOActionTask import com.kunzisoft.keepass.database.element.Database import com.kunzisoft.keepass.database.element.Group +import com.kunzisoft.keepass.database.element.node.Node class GroupViewModel: ViewModel() {