优化
This commit is contained in:
@@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
**2022/07/09**
|
**2022/07/09**
|
||||||
|
|
||||||
|
* 书源添加未分组筛选
|
||||||
* 修复使用自建WebDav一些bug by 821938089
|
* 修复使用自建WebDav一些bug by 821938089
|
||||||
* 修复换源按钮长按只能生效一次的bug
|
* 修复换源按钮长按只能生效一次的bug
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,9 @@ interface BookSourceDao {
|
|||||||
@Query("select * from book_sources where loginUrl is not null and loginUrl != ''")
|
@Query("select * from book_sources where loginUrl is not null and loginUrl != ''")
|
||||||
fun flowLogin(): Flow<List<BookSource>>
|
fun flowLogin(): Flow<List<BookSource>>
|
||||||
|
|
||||||
|
@Query("select * from book_sources where bookSourceGroup is null or bookSourceGroup = '' or bookSourceGroup like '%未分组%'")
|
||||||
|
fun flowNoGroup(): Flow<List<BookSource>>
|
||||||
|
|
||||||
@Query(
|
@Query(
|
||||||
"""select * from book_sources
|
"""select * from book_sources
|
||||||
where enabledExplore = 1
|
where enabledExplore = 1
|
||||||
|
|||||||
@@ -181,6 +181,9 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
|||||||
R.id.menu_group_login -> {
|
R.id.menu_group_login -> {
|
||||||
searchView.setQuery(getString(R.string.need_login), true)
|
searchView.setQuery(getString(R.string.need_login), true)
|
||||||
}
|
}
|
||||||
|
R.id.menu_group_null -> {
|
||||||
|
searchView.setQuery(getString(R.string.no_group), true)
|
||||||
|
}
|
||||||
R.id.menu_help -> showHelp()
|
R.id.menu_help -> showHelp()
|
||||||
}
|
}
|
||||||
if (item.groupId == R.id.source_group) {
|
if (item.groupId == R.id.source_group) {
|
||||||
@@ -229,6 +232,9 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
|||||||
searchKey == getString(R.string.need_login) -> {
|
searchKey == getString(R.string.need_login) -> {
|
||||||
appDb.bookSourceDao.flowLogin()
|
appDb.bookSourceDao.flowLogin()
|
||||||
}
|
}
|
||||||
|
searchKey == getString(R.string.no_group) -> {
|
||||||
|
appDb.bookSourceDao.flowNoGroup()
|
||||||
|
}
|
||||||
searchKey.startsWith("group:") -> {
|
searchKey.startsWith("group:") -> {
|
||||||
val key = searchKey.substringAfter("group:")
|
val key = searchKey.substringAfter("group:")
|
||||||
appDb.bookSourceDao.flowGroupSearch(key)
|
appDb.bookSourceDao.flowGroupSearch(key)
|
||||||
@@ -296,10 +302,15 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
|||||||
|
|
||||||
private fun initLiveDataGroup() {
|
private fun initLiveDataGroup() {
|
||||||
launch {
|
launch {
|
||||||
|
val noGroupName = getString(R.string.no_group)
|
||||||
appDb.bookSourceDao.flowGroup().conflate().collect {
|
appDb.bookSourceDao.flowGroup().conflate().collect {
|
||||||
groups.clear()
|
groups.clear()
|
||||||
it.forEach { group ->
|
it.forEach { groupStr ->
|
||||||
groups.addAll(group.splitNotBlank(AppPattern.splitGroupRegex))
|
groupStr.splitNotBlank(AppPattern.splitGroupRegex).forEach { group ->
|
||||||
|
if (group != noGroupName) {
|
||||||
|
groups.add(group)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
upGroupMenu()
|
upGroupMenu()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,6 +79,10 @@
|
|||||||
android:id="@+id/menu_group_login"
|
android:id="@+id/menu_group_login"
|
||||||
android:title="@string/need_login" />
|
android:title="@string/need_login" />
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/menu_group_null"
|
||||||
|
android:title="@string/no_group" />
|
||||||
|
|
||||||
<group android:id="@+id/source_group">
|
<group android:id="@+id/source_group">
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
|
|||||||
Reference in New Issue
Block a user