[新增] 添加书籍的类型的标识 #414
This commit is contained in:
@@ -226,4 +226,6 @@ object PreferKey {
|
||||
const val exploreLayoutState = "exploreLayoutState"
|
||||
|
||||
const val defaultSourceChangeAll = "defaultSourceChangeAll"
|
||||
|
||||
const val showTip = "showTip"
|
||||
}
|
||||
|
||||
@@ -90,6 +90,22 @@ val Book.archiveName: String
|
||||
return origin.substringAfter("::").substringAfterLast("/")
|
||||
}
|
||||
|
||||
fun Book.getBookTypeName(): String {
|
||||
return when {
|
||||
isLocalTxt -> "TXT"
|
||||
isEpub -> "EPUB"
|
||||
isUmd -> "UMD"
|
||||
isPdf -> "PDF"
|
||||
isMobi -> "MOBI"
|
||||
isAudio -> "有声书"
|
||||
isImage -> "漫画"
|
||||
isOnLineTxt -> "小说"
|
||||
isWebFile -> "网页文件"
|
||||
else -> "未知类型"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun Book.contains(word: String?): Boolean {
|
||||
if (word.isNullOrEmpty()) {
|
||||
return true
|
||||
|
||||
@@ -157,6 +157,12 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
appCtx.putPrefBoolean(PreferKey.showUnread, value)
|
||||
}
|
||||
|
||||
var showTip: Boolean
|
||||
get() = appCtx.getPrefBoolean(PreferKey.showTip, false)
|
||||
set(value) {
|
||||
appCtx.putPrefBoolean(PreferKey.showTip, value)
|
||||
}
|
||||
|
||||
var showUnreadNew: Boolean
|
||||
get() = appCtx.getPrefBoolean(PreferKey.showUnreadNew, true)
|
||||
set(value) {
|
||||
|
||||
@@ -65,6 +65,7 @@ class BookshelfConfigBottomSheet : BaseBottomSheetDialogFragment(R.layout.dialog
|
||||
|
||||
swShowUnread.isChecked = AppConfig.showUnread
|
||||
swShowUnreadNew.isChecked = AppConfig.showUnreadNew
|
||||
swShowTip.isChecked = AppConfig.showTip
|
||||
swShowLastUpdateTime.isChecked = AppConfig.showLastUpdateTime
|
||||
swShowWaitUpBooks.isChecked = AppConfig.showWaitUpCount
|
||||
swShowBookshelfFastScroller.isChecked = AppConfig.showBookshelfFastScroller
|
||||
@@ -124,6 +125,10 @@ class BookshelfConfigBottomSheet : BaseBottomSheetDialogFragment(R.layout.dialog
|
||||
AppConfig.showUnreadNew = swShowUnreadNew.isChecked
|
||||
postEvent(EventBus.BOOKSHELF_REFRESH, "")
|
||||
}
|
||||
if (AppConfig.showTip != swShowTip.isChecked) {
|
||||
AppConfig.showTip = swShowTip.isChecked
|
||||
postEvent(EventBus.BOOKSHELF_REFRESH, "")
|
||||
}
|
||||
if (AppConfig.showLastUpdateTime != swShowLastUpdateTime.isChecked) {
|
||||
AppConfig.showLastUpdateTime = swShowLastUpdateTime.isChecked
|
||||
postEvent(EventBus.BOOKSHELF_REFRESH, "")
|
||||
|
||||
+8
@@ -7,6 +7,7 @@ import androidx.core.view.isVisible
|
||||
import io.legado.app.base.adapter.ItemViewHolder
|
||||
import io.legado.app.data.entities.Book
|
||||
import io.legado.app.databinding.ItemBookshelfGridBinding
|
||||
import io.legado.app.help.book.getBookTypeName
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.utils.gone
|
||||
@@ -46,6 +47,7 @@ class BooksAdapterGrid(context: Context, private val callBack: CallBack) :
|
||||
private fun upRefresh(binding: ItemBookshelfGridBinding, item: Book) {
|
||||
if (!item.isLocal && callBack.isUpdate(item.bookUrl)) {
|
||||
binding.cdUnread.gone()
|
||||
binding.cdTip.visible()
|
||||
binding.rlLoading.visible()
|
||||
} else {
|
||||
binding.rlLoading.gone()
|
||||
@@ -63,6 +65,12 @@ class BooksAdapterGrid(context: Context, private val callBack: CallBack) :
|
||||
} else {
|
||||
binding.cdUnread.gone()
|
||||
}
|
||||
if (AppConfig.showTip){
|
||||
binding.cdTip.visible()
|
||||
binding.tvTip.text = item.getBookTypeName()
|
||||
} else {
|
||||
binding.cdTip.gone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+8
@@ -8,9 +8,11 @@ import androidx.core.view.isVisible
|
||||
import io.legado.app.base.adapter.ItemViewHolder
|
||||
import io.legado.app.data.entities.Book
|
||||
import io.legado.app.databinding.ItemBookshelfGridCompactBinding
|
||||
import io.legado.app.help.book.getBookTypeName
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.utils.gone
|
||||
import io.legado.app.utils.visible
|
||||
|
||||
class BooksAdapterGridCompact(context: Context, private val callBack: CallBack) :
|
||||
BaseBooksAdapter<ItemBookshelfGridCompactBinding>(context) {
|
||||
@@ -70,6 +72,12 @@ class BooksAdapterGridCompact(context: Context, private val callBack: CallBack)
|
||||
} else {
|
||||
binding.cdUnread.visibility = View.GONE
|
||||
}
|
||||
if (AppConfig.showTip){
|
||||
binding.cdTip.visible()
|
||||
binding.tvTip.text = item.getBookTypeName()
|
||||
} else {
|
||||
binding.cdTip.gone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+8
@@ -8,9 +8,11 @@ import androidx.core.view.isVisible
|
||||
import io.legado.app.base.adapter.ItemViewHolder
|
||||
import io.legado.app.data.entities.Book
|
||||
import io.legado.app.databinding.ItemBookshelfGridCompactBinding
|
||||
import io.legado.app.help.book.getBookTypeName
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.utils.gone
|
||||
import io.legado.app.utils.visible
|
||||
|
||||
class BooksAdapterGridCover(context: Context, private val callBack: CallBack) :
|
||||
BaseBooksAdapter<ItemBookshelfGridCompactBinding>(context) {
|
||||
@@ -70,6 +72,12 @@ class BooksAdapterGridCover(context: Context, private val callBack: CallBack) :
|
||||
} else {
|
||||
binding.cdUnread.visibility = View.GONE
|
||||
}
|
||||
if (AppConfig.showTip){
|
||||
binding.cdTip.visible()
|
||||
binding.tvTip.text = item.getBookTypeName()
|
||||
} else {
|
||||
binding.cdTip.gone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
@@ -9,6 +9,7 @@ import androidx.lifecycle.Lifecycle
|
||||
import io.legado.app.base.adapter.ItemViewHolder
|
||||
import io.legado.app.data.entities.Book
|
||||
import io.legado.app.databinding.ItemBookshelfListBinding
|
||||
import io.legado.app.help.book.getBookTypeName
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.utils.gone
|
||||
@@ -88,6 +89,12 @@ class BooksAdapterList(
|
||||
} else {
|
||||
binding.cdUnread.gone()
|
||||
}
|
||||
if (AppConfig.showTip){
|
||||
binding.cdTip.visible()
|
||||
binding.tvTip.text = item.getBookTypeName()
|
||||
} else {
|
||||
binding.cdTip.gone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
@@ -10,6 +10,7 @@ import io.legado.app.R
|
||||
import io.legado.app.base.adapter.ItemViewHolder
|
||||
import io.legado.app.data.entities.Book
|
||||
import io.legado.app.databinding.ItemBookshelfListCompactBinding
|
||||
import io.legado.app.help.book.getBookTypeName
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.utils.gone
|
||||
@@ -92,6 +93,12 @@ class BooksAdapterListCompact(
|
||||
} else {
|
||||
binding.cdUnread.gone()
|
||||
}
|
||||
if (AppConfig.showTip){
|
||||
binding.cdTip.visible()
|
||||
binding.tvTip.text = item.getBookTypeName()
|
||||
} else {
|
||||
binding.cdTip.gone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,9 +12,11 @@ import io.legado.app.data.entities.Book
|
||||
import io.legado.app.data.entities.BookGroup
|
||||
import io.legado.app.databinding.ItemBookshelfGridBinding
|
||||
import io.legado.app.databinding.ItemBookshelfGridGroupBinding
|
||||
import io.legado.app.help.book.getBookTypeName
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.utils.gone
|
||||
import io.legado.app.utils.visible
|
||||
import splitties.views.onLongClick
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@@ -119,6 +121,12 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) :
|
||||
} else {
|
||||
binding.cdUnread.visibility = View.GONE
|
||||
}
|
||||
if (AppConfig.showTip){
|
||||
binding.cdTip.visible()
|
||||
binding.tvTip.text = item.getBookTypeName()
|
||||
} else {
|
||||
binding.cdTip.gone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+8
@@ -12,9 +12,11 @@ import io.legado.app.data.entities.Book
|
||||
import io.legado.app.data.entities.BookGroup
|
||||
import io.legado.app.databinding.ItemBookshelfGridCompactBinding
|
||||
import io.legado.app.databinding.ItemBookshelfGridCompactGroupBinding
|
||||
import io.legado.app.help.book.getBookTypeName
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.utils.gone
|
||||
import io.legado.app.utils.visible
|
||||
import splitties.views.onLongClick
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@@ -126,6 +128,12 @@ class BooksAdapterGridCompact(context: Context, callBack: CallBack) :
|
||||
} else {
|
||||
binding.cdUnread.visibility = View.GONE
|
||||
}
|
||||
if (AppConfig.showTip){
|
||||
binding.cdTip.visible()
|
||||
binding.tvTip.text = item.getBookTypeName()
|
||||
} else {
|
||||
binding.cdTip.gone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+8
@@ -12,9 +12,11 @@ import io.legado.app.data.entities.Book
|
||||
import io.legado.app.data.entities.BookGroup
|
||||
import io.legado.app.databinding.ItemBookshelfGridCompactBinding
|
||||
import io.legado.app.databinding.ItemBookshelfGridCompactGroupBinding
|
||||
import io.legado.app.help.book.getBookTypeName
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.utils.gone
|
||||
import io.legado.app.utils.visible
|
||||
import splitties.views.onLongClick
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@@ -126,6 +128,12 @@ class BooksAdapterGridCover(context: Context, callBack: CallBack) :
|
||||
} else {
|
||||
binding.cdUnread.visibility = View.GONE
|
||||
}
|
||||
if (AppConfig.showTip){
|
||||
binding.cdTip.visible()
|
||||
binding.tvTip.text = item.getBookTypeName()
|
||||
} else {
|
||||
binding.cdTip.gone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import io.legado.app.data.entities.Book
|
||||
import io.legado.app.data.entities.BookGroup
|
||||
import io.legado.app.databinding.ItemBookshelfListBinding
|
||||
import io.legado.app.databinding.ItemBookshelfListGroupBinding
|
||||
import io.legado.app.help.book.getBookTypeName
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.utils.gone
|
||||
@@ -140,6 +141,12 @@ class BooksAdapterList(context: Context, callBack: CallBack) :
|
||||
} else {
|
||||
binding.cdUnread.gone()
|
||||
}
|
||||
if (AppConfig.showTip){
|
||||
binding.cdTip.visible()
|
||||
binding.tvTip.text = item.getBookTypeName()
|
||||
} else {
|
||||
binding.cdTip.gone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
@@ -11,6 +11,7 @@ import io.legado.app.data.entities.Book
|
||||
import io.legado.app.data.entities.BookGroup
|
||||
import io.legado.app.databinding.ItemBookshelfListCompactBinding
|
||||
import io.legado.app.databinding.ItemBookshelfListCompactGroupBinding
|
||||
import io.legado.app.help.book.getBookTypeName
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.utils.gone
|
||||
@@ -138,6 +139,12 @@ class BooksAdapterListCompact(context: Context, callBack: CallBack) :
|
||||
} else {
|
||||
binding.cdUnread.gone()
|
||||
}
|
||||
if (AppConfig.showTip){
|
||||
binding.cdTip.visible()
|
||||
binding.tvTip.text = item.getBookTypeName()
|
||||
} else {
|
||||
binding.cdTip.gone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user