From 40c8c5be6e86d3c99fcd35597a4df4363b6450c2 Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Mon, 6 May 2024 16:01:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E6=9C=AA=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E6=97=B6=E6=97=A0=E6=B3=95=E7=9B=B4=E6=8E=A5=E6=B8=85?= =?UTF-8?q?=E7=A9=BA=E6=97=A5=E5=BF=97BUG=20#463?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idormy/sms/forwarder/database/dao/MsgDao.kt | 3 --- .../database/repository/MsgRepository.kt | 2 -- .../database/viewmodel/MsgViewModel.kt | 17 ++++++++--------- .../sms/forwarder/fragment/LogsFragment.kt | 1 + 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/dao/MsgDao.kt b/app/src/main/java/com/idormy/sms/forwarder/database/dao/MsgDao.kt index 025581d0..fd655507 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/database/dao/MsgDao.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/database/dao/MsgDao.kt @@ -27,9 +27,6 @@ interface MsgDao { @Query("DELETE FROM Msg where id=:id") fun delete(id: Long) - @Query("DELETE FROM Msg where type=:type") - fun deleteAll(type: String): Completable - @RawQuery fun deleteAll(sql: SupportSQLiteQuery): Int diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/repository/MsgRepository.kt b/app/src/main/java/com/idormy/sms/forwarder/database/repository/MsgRepository.kt index d83011b1..ea98dffd 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/database/repository/MsgRepository.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/database/repository/MsgRepository.kt @@ -14,8 +14,6 @@ class MsgRepository(private val msgDao: MsgDao) { fun deleteAll() = msgDao.deleteAll() - fun deleteAll(type: String) = msgDao.deleteAll(type) - @WorkerThread fun deleteTimeAgo(time: Long) = msgDao.deleteTimeAgo(time) diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/viewmodel/MsgViewModel.kt b/app/src/main/java/com/idormy/sms/forwarder/database/viewmodel/MsgViewModel.kt index f863231e..c536ade8 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/database/viewmodel/MsgViewModel.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/database/viewmodel/MsgViewModel.kt @@ -10,6 +10,7 @@ import androidx.sqlite.db.SimpleSQLiteQuery import com.idormy.sms.forwarder.database.dao.MsgDao import com.idormy.sms.forwarder.database.entity.MsgAndLogs import com.idormy.sms.forwarder.database.ext.ioThread +import com.idormy.sms.forwarder.utils.Log import com.xuexiang.xutil.data.DateUtils import kotlinx.coroutines.flow.Flow @@ -55,18 +56,16 @@ class MsgViewModel(private val dao: MsgDao) : ViewModel() { } fun deleteAll() = ioThread { - if (filter.isEmpty()) { - dao.deleteAll(type) - } else { - val sb = StringBuilder().apply { - append("DELETE FROM Msg WHERE type = '$type'") + val sb = StringBuilder().apply { + append("DELETE FROM Msg WHERE type = '$type'") + if (filter.isNotEmpty()) { append(getOtherCondition()) } - - //Log.d("MsgViewModel", "sql: $sb") - val query = SimpleSQLiteQuery(sb.toString()) - dao.deleteAll(query) } + + Log.d("MsgViewModel", "sql: $sb") + val query = SimpleSQLiteQuery(sb.toString()) + dao.deleteAll(query) } private fun getOtherCondition(): String { diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/LogsFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/LogsFragment.kt index 898cf071..c0d96ac9 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/LogsFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/LogsFragment.kt @@ -85,6 +85,7 @@ class LogsFragment : BaseFragment(), MsgPagingAdapter.OnIt .negativeText(R.string.lab_no) .onPositive { _: MaterialDialog?, _: DialogAction? -> try { + Log.d(TAG, "deleteAll, currentType:$currentType, currentFilter:$currentFilter") viewModel.setType(currentType).setFilter(currentFilter).deleteAll() reloadData() XToastUtils.success(if (currentFilter.isEmpty()) R.string.delete_type_log_toast else R.string.delete_filter_log_toast)