rss收藏增加批量删除 (#4444)
This commit is contained in:
@@ -36,4 +36,10 @@ interface RssStarDao {
|
||||
|
||||
@Query("delete from rssStars where origin = :origin and link = :link")
|
||||
fun delete(origin: String, link: String)
|
||||
|
||||
@Query("delete from rssStars where `group` = :group")
|
||||
fun deleteByGroup(group: String)
|
||||
|
||||
@Query("delete from rssStars")
|
||||
fun deleteAll()
|
||||
}
|
||||
@@ -14,6 +14,7 @@ import io.legado.app.base.BaseActivity
|
||||
import io.legado.app.constant.AppLog
|
||||
import io.legado.app.data.appDb
|
||||
import io.legado.app.databinding.ActivityRssFavoritesBinding
|
||||
import io.legado.app.lib.dialogs.alert
|
||||
import io.legado.app.lib.theme.accentColor
|
||||
import io.legado.app.utils.gone
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
@@ -53,16 +54,20 @@ class RssFavoritesActivity : BaseActivity<ActivityRssFavoritesBinding>() {
|
||||
}
|
||||
|
||||
private fun upGroupsMenu() = groupsMenu?.let { subMenu ->
|
||||
subMenu.removeGroup(R.id.menu_group_text)
|
||||
subMenu.removeGroup(R.id.menu_group)
|
||||
groupList.forEachIndexed { index, it ->
|
||||
subMenu.add(R.id.menu_group_text, Menu.NONE, index, it)
|
||||
subMenu.add(R.id.menu_group, Menu.NONE, index, it)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCompatOptionsItemSelected(item: MenuItem): Boolean {
|
||||
super.onCompatOptionsItemSelected(item)
|
||||
if (item.groupId == R.id.menu_group_text) {
|
||||
if (item.groupId == R.id.menu_group) {
|
||||
binding.viewPager.setCurrentItem(item.order)
|
||||
}else{
|
||||
when (item.itemId) {
|
||||
R.id.menu_del_group -> deleteGroup()
|
||||
R.id.menu_del_all -> deleteAll()
|
||||
}
|
||||
}
|
||||
return super.onCompatOptionsItemSelected(item)
|
||||
}
|
||||
@@ -87,6 +92,28 @@ class RssFavoritesActivity : BaseActivity<ActivityRssFavoritesBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun deleteGroup() {
|
||||
alert(R.string.draw) {
|
||||
val item = binding.viewPager.currentItem
|
||||
val group = groupList[item]
|
||||
setMessage(getString(R.string.sure_del) + "\n" + group + " 分组的收藏")
|
||||
noButton()
|
||||
yesButton {
|
||||
appDb.rssStarDao.deleteByGroup(group)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun deleteAll() {
|
||||
alert(R.string.draw) {
|
||||
setMessage(getString(R.string.sure_del) + "\n" + "所有收藏")
|
||||
noButton()
|
||||
yesButton {
|
||||
appDb.rssStarDao.deleteAll()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private inner class TabFragmentPageAdapter :
|
||||
FragmentStatePagerAdapter(supportFragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user