pull/2046/head
kunfei 2 years ago
parent 906634ae81
commit f721ff79af
  1. 1
      app/src/main/assets/updateLog.md
  2. 3
      app/src/main/java/io/legado/app/data/dao/BookSourceDao.kt
  3. 15
      app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt
  4. 4
      app/src/main/res/menu/book_source.xml

@ -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>

Loading…
Cancel
Save