From 8e0bfee651e13504a1fbfc49a0f5506a8e7c4aa8 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 15 Aug 2016 22:35:22 +0200 Subject: [PATCH] display the select item count at the titlebar --- .../applauncher/adapters/RecyclerAdapter.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/RecyclerAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/RecyclerAdapter.kt index 8bb9e43..660a5a3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/RecyclerAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/RecyclerAdapter.kt @@ -17,6 +17,10 @@ class RecyclerAdapter(val act: Activity, val launchers: List, val i val multiSelector = MultiSelector() + companion object { + var actMode: ActionMode? = null + } + val deleteMode = object : ModalMultiSelectorCallback(multiSelector) { override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean { return false @@ -24,6 +28,7 @@ class RecyclerAdapter(val act: Activity, val launchers: List, val i override fun onCreateActionMode(actionMode: ActionMode?, menu: Menu?): Boolean { super.onCreateActionMode(actionMode, menu) + actMode = actionMode act.menuInflater.inflate(R.menu.cab, menu) return true } @@ -52,16 +57,23 @@ class RecyclerAdapter(val act: Activity, val launchers: List, val i class ViewHolder(view: View, val itemClick: (AppLauncher) -> (Unit)) : SwappingHolder(view, MultiSelector()) { val viewHolder = this + fun bindView(act: Activity, deleteMode: ModalMultiSelectorCallback, multiSelector: MultiSelector, launcher: AppLauncher) { with(launcher) { itemView.launcher_label.text = launcher.name itemView.setOnClickListener { - itemClick(this) + if (multiSelector.isSelectable) { + multiSelector.setSelected(viewHolder, true) + actMode?.title = multiSelector.selectedPositions.size.toString() + } else { + itemClick(this) + } } itemView.setOnLongClickListener { (act as AppCompatActivity).startSupportActionMode(deleteMode) multiSelector.setSelected(viewHolder, true) + actMode?.title = multiSelector.selectedPositions.size.toString() true }