Merge remote-tracking branch 'origin/master'

This commit is contained in:
kunfei 2023-10-10 11:39:27 +08:00
commit a2a76da248
6 changed files with 20 additions and 21 deletions

View File

@ -348,7 +348,10 @@ class EpubFile(var book: Book) {
durIndex = 0
while (i < contents.size) {
val content = contents[i]
if (!content.mediaType.toString().contains("htm")) continue
if (!content.mediaType.toString().contains("htm")) {
i++
continue
}
/**
* 检索到第一章href停止
* completeHref可能有fragment(#id) 必须去除

View File

@ -9,7 +9,6 @@ import androidx.lifecycle.LiveData
import io.legado.app.R
import io.legado.app.base.VMBaseFragment
import io.legado.app.constant.EventBus
import io.legado.app.constant.PreferKey
import io.legado.app.data.appDb
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookGroup
@ -137,7 +136,7 @@ abstract class BaseBookshelfFragment(layoutId: Int) : VMBaseFragment<BookshelfVi
@SuppressLint("InflateParams")
fun configBookshelf() {
alert(titleResource = R.string.bookshelf_layout) {
val bookshelfLayout = getPrefInt(PreferKey.bookshelfLayout)
val bookshelfLayout = AppConfig.bookshelfLayout
val bookshelfSort = AppConfig.bookshelfSort
val alertBinding =
DialogBookshelfConfigBinding.inflate(layoutInflater)

View File

@ -11,7 +11,6 @@ import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentStatePagerAdapter
import com.google.android.material.tabs.TabLayout
import io.legado.app.R
import io.legado.app.constant.PreferKey
import io.legado.app.data.appDb
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookGroup
@ -126,7 +125,7 @@ class BookshelfFragment1() : BaseBookshelfFragment(R.layout.fragment_bookshelf1)
override fun onTabUnselected(tab: TabLayout.Tab) = Unit
override fun onTabSelected(tab: TabLayout.Tab) {
putPrefInt(PreferKey.saveTabPosition, tab.position)
AppConfig.saveTabPosition = tab.position
}
override fun gotoTop() {

View File

@ -13,7 +13,6 @@ import io.legado.app.R
import io.legado.app.base.BaseFragment
import io.legado.app.constant.AppLog
import io.legado.app.constant.EventBus
import io.legado.app.constant.PreferKey
import io.legado.app.data.appDb
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookGroup
@ -52,9 +51,7 @@ class BooksFragment() : BaseFragment(R.layout.fragment_books),
private val binding by viewBinding(FragmentBooksBinding::bind)
private val activityViewModel by activityViewModels<MainViewModel>()
private val bookshelfLayout by lazy {
getPrefInt(PreferKey.bookshelfLayout)
}
private val bookshelfLayout by lazy { AppConfig.bookshelfLayout }
private val booksAdapter: BaseBooksAdapter<*> by lazy {
if (bookshelfLayout == 0) {
BooksAdapterList(requireContext(), this)

View File

@ -12,7 +12,6 @@ import androidx.recyclerview.widget.RecyclerView
import io.legado.app.R
import io.legado.app.constant.AppLog
import io.legado.app.constant.EventBus
import io.legado.app.constant.PreferKey
import io.legado.app.data.appDb
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookGroup
@ -53,9 +52,7 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2)
}
private val binding by viewBinding(FragmentBookshelf2Binding::bind)
private val bookshelfLayout by lazy {
getPrefInt(PreferKey.bookshelfLayout)
}
private val bookshelfLayout by lazy { AppConfig.bookshelfLayout }
private val booksAdapter: BaseBooksAdapter<*> by lazy {
if (bookshelfLayout == 0) {
BooksAdapterList(requireContext(), this)
@ -123,8 +120,10 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2)
@SuppressLint("NotifyDataSetChanged")
private fun initBooksData() {
if (groupId == -100L) {
binding.titleBar.title = getString(R.string.bookshelf)
binding.refreshLayout.isEnabled = true
if (isAdded) {
binding.titleBar.title = getString(R.string.bookshelf)
binding.refreshLayout.isEnabled = true
}
} else {
bookGroups.firstOrNull {
groupId == it.groupId
@ -156,10 +155,12 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2)
}.flowOn(Dispatchers.Default).catch {
AppLog.put("书架更新出错", it)
}.conflate().collect { list ->
books = list
booksAdapter.notifyDataSetChanged()
binding.tvEmptyMsg.isGone = getItemCount() > 0
delay(100)
if (isAdded) {
books = list
booksAdapter.notifyDataSetChanged()
binding.tvEmptyMsg.isGone = getItemCount() > 0
delay(100)
}
}
}
}

View File

@ -1,6 +1,6 @@
package me.ag2s.epublib.domain;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import me.ag2s.epublib.util.StringUtil;
@ -60,7 +60,7 @@ public class MediaTypes {
SMIL, PLS, JAVASCRIPT, MP3, MP4, OGG, UNKNOWN
};
public static final Map<String, MediaType> mediaTypesByName = new HashMap<>();
public static final Map<String, MediaType> mediaTypesByName = new LinkedHashMap<>();
static {
for (MediaType mediaType : mediaTypes) {