From 755c1ca7614bea43fe91784d76a2940e14fcf23e Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 16 Aug 2016 21:22:38 +0200 Subject: [PATCH] really delete the selected launchers --- .../applauncher/adapters/RecyclerAdapter.kt | 8 ++++++++ .../simplemobiletools/applauncher/databases/DbHelper.kt | 6 ++++++ 2 files changed, 14 insertions(+) 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 f2c6db6..38c3161 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/RecyclerAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/RecyclerAdapter.kt @@ -9,10 +9,12 @@ import com.bignerdranch.android.multiselector.ModalMultiSelectorCallback import com.bignerdranch.android.multiselector.MultiSelector import com.bignerdranch.android.multiselector.SwappingHolder import com.simplemobiletools.applauncher.R +import com.simplemobiletools.applauncher.databases.DbHelper import com.simplemobiletools.applauncher.extensions.hide import com.simplemobiletools.applauncher.extensions.show import com.simplemobiletools.applauncher.models.AppLauncher import kotlinx.android.synthetic.main.app_launcher_dialog_item.view.* +import java.util.* class RecyclerAdapter(val act: Activity, val launchers: List, val itemClick: (AppLauncher) -> Unit) : RecyclerView.Adapter() { @@ -27,6 +29,12 @@ class RecyclerAdapter(val act: Activity, val launchers: List, val i override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean { when (item?.itemId) { R.id.cab_delete -> { + val positions = multiSelector.selectedPositions + val deleteIds = ArrayList(positions.size) + for (i in positions) { + deleteIds.add(launchers[i].id.toString()) + } + DbHelper(act).deleteLaunchers(deleteIds) return true } } diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/databases/DbHelper.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/databases/DbHelper.kt index 0d52050..ffef754 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/databases/DbHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/databases/DbHelper.kt @@ -4,6 +4,7 @@ import android.content.ContentValues import android.content.Context import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteOpenHelper +import android.text.TextUtils import com.simplemobiletools.applauncher.R import com.simplemobiletools.applauncher.models.AppLauncher import java.util.* @@ -44,6 +45,11 @@ class DbHelper(context: Context) : SQLiteOpenHelper(context, "launchers.db", nul db.insert(TABLE, null, contentValues) } + fun deleteLaunchers(ids: ArrayList) { + val args = TextUtils.join(", ", ids.toArray()) + writableDatabase.delete(TABLE, "$ID IN ($args)", null) + } + fun getLaunchers(): ArrayList { val launchers = ArrayList() val cursor = readableDatabase.query(TABLE, arrayOf(ID, NAME, PKG_NAME, ICON_ID), null, null, null, null, NAME)