优化
This commit is contained in:
@@ -3,6 +3,7 @@ package io.legado.app.service
|
|||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
import androidx.core.net.toUri
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.media3.common.C
|
import androidx.media3.common.C
|
||||||
import androidx.media3.common.MediaItem
|
import androidx.media3.common.MediaItem
|
||||||
@@ -307,7 +308,7 @@ class HttpReadAloudService : BaseReadAloudService(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun createDownloader(factory: CacheDataSource.Factory, fileName: String): Downloader {
|
private fun createDownloader(factory: CacheDataSource.Factory, fileName: String): Downloader {
|
||||||
val uri = Uri.parse(fileName)
|
val uri = fileName.toUri()
|
||||||
val request = DownloadRequest.Builder(fileName, uri).build()
|
val request = DownloadRequest.Builder(fileName, uri).build()
|
||||||
return DefaultDownloaderFactory(factory, okHttpClient.dispatcher.executorService)
|
return DefaultDownloaderFactory(factory, okHttpClient.dispatcher.executorService)
|
||||||
.createDownloader(request)
|
.createDownloader(request)
|
||||||
@@ -586,7 +587,7 @@ class HttpReadAloudService : BaseReadAloudService(),
|
|||||||
return servicePendingIntent<HttpReadAloudService>(actionStr)
|
return servicePendingIntent<HttpReadAloudService>(actionStr)
|
||||||
}
|
}
|
||||||
|
|
||||||
inner class CustomLoadErrorHandlingPolicy : DefaultLoadErrorHandlingPolicy(0) {
|
class CustomLoadErrorHandlingPolicy : DefaultLoadErrorHandlingPolicy(0) {
|
||||||
override fun getRetryDelayMsFor(loadErrorInfo: LoadErrorHandlingPolicy.LoadErrorInfo): Long {
|
override fun getRetryDelayMsFor(loadErrorInfo: LoadErrorHandlingPolicy.LoadErrorInfo): Long {
|
||||||
return C.TIME_UNSET
|
return C.TIME_UNSET
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,6 +70,9 @@ class GroupEditDialog() : BaseDialogFragment(R.layout.dialog_book_group_edit) {
|
|||||||
binding.btnDelete.visible(it.groupId > 0 || it.groupId == Long.MIN_VALUE)
|
binding.btnDelete.visible(it.groupId > 0 || it.groupId == Long.MIN_VALUE)
|
||||||
binding.tieGroupName.setText(it.groupName)
|
binding.tieGroupName.setText(it.groupName)
|
||||||
binding.ivCover.load(it.cover)
|
binding.ivCover.load(it.cover)
|
||||||
|
if (it.bookSort + 1 !in 0..<binding.spSort.count) {
|
||||||
|
it.bookSort = -1
|
||||||
|
}
|
||||||
binding.spSort.setSelection(it.bookSort + 1)
|
binding.spSort.setSelection(it.bookSort + 1)
|
||||||
binding.cbEnableRefresh.isChecked = it.enableRefresh
|
binding.cbEnableRefresh.isChecked = it.enableRefresh
|
||||||
} ?: let {
|
} ?: let {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package io.legado.app.ui.book.read.config
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import androidx.core.view.indices
|
||||||
import com.jaredrummler.android.colorpicker.ColorPickerDialog
|
import com.jaredrummler.android.colorpicker.ColorPickerDialog
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.base.BaseDialogFragment
|
import io.legado.app.base.BaseDialogFragment
|
||||||
@@ -44,6 +45,9 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun initView() {
|
private fun initView() {
|
||||||
|
if (ReadBookConfig.titleMode !in binding.rgTitleMode.indices) {
|
||||||
|
ReadBookConfig.titleMode = 0
|
||||||
|
}
|
||||||
binding.rgTitleMode.checkByIndex(ReadBookConfig.titleMode)
|
binding.rgTitleMode.checkByIndex(ReadBookConfig.titleMode)
|
||||||
binding.dsbTitleSize.progress = ReadBookConfig.titleSize
|
binding.dsbTitleSize.progress = ReadBookConfig.titleSize
|
||||||
binding.dsbTitleTop.progress = ReadBookConfig.titleTopSpacing
|
binding.dsbTitleTop.progress = ReadBookConfig.titleTopSpacing
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package io.legado.app.ui.main.bookshelf
|
|||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
|
import androidx.core.view.indices
|
||||||
import androidx.fragment.app.activityViewModels
|
import androidx.fragment.app.activityViewModels
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
@@ -164,11 +165,22 @@ abstract class BaseBookshelfFragment(layoutId: Int) : VMBaseFragment<BookshelfVi
|
|||||||
@SuppressLint("InflateParams")
|
@SuppressLint("InflateParams")
|
||||||
fun configBookshelf() {
|
fun configBookshelf() {
|
||||||
alert(titleResource = R.string.bookshelf_layout) {
|
alert(titleResource = R.string.bookshelf_layout) {
|
||||||
val bookshelfLayout = AppConfig.bookshelfLayout
|
var bookshelfLayout = AppConfig.bookshelfLayout
|
||||||
val bookshelfSort = AppConfig.bookshelfSort
|
var bookshelfSort = AppConfig.bookshelfSort
|
||||||
val alertBinding =
|
val alertBinding =
|
||||||
DialogBookshelfConfigBinding.inflate(layoutInflater)
|
DialogBookshelfConfigBinding.inflate(layoutInflater)
|
||||||
.apply {
|
.apply {
|
||||||
|
if (AppConfig.bookGroupStyle !in 0..<spGroupStyle.count) {
|
||||||
|
AppConfig.bookGroupStyle = 0
|
||||||
|
}
|
||||||
|
if (bookshelfLayout !in rgLayout.indices) {
|
||||||
|
bookshelfLayout = 0
|
||||||
|
AppConfig.bookshelfLayout = 0
|
||||||
|
}
|
||||||
|
if (bookshelfSort !in rgSort.indices) {
|
||||||
|
bookshelfSort = 0
|
||||||
|
AppConfig.bookshelfSort = 0
|
||||||
|
}
|
||||||
spGroupStyle.setSelection(AppConfig.bookGroupStyle)
|
spGroupStyle.setSelection(AppConfig.bookGroupStyle)
|
||||||
swShowUnread.isChecked = AppConfig.showUnread
|
swShowUnread.isChecked = AppConfig.showUnread
|
||||||
swShowLastUpdateTime.isChecked = AppConfig.showLastUpdateTime
|
swShowLastUpdateTime.isChecked = AppConfig.showLastUpdateTime
|
||||||
|
|||||||
@@ -94,6 +94,9 @@ class RuleSubActivity : BaseActivity<ActivityRuleSubBinding>(),
|
|||||||
override fun editSubscription(ruleSub: RuleSub) {
|
override fun editSubscription(ruleSub: RuleSub) {
|
||||||
alert(R.string.rule_subscription) {
|
alert(R.string.rule_subscription) {
|
||||||
val alertBinding = DialogRuleSubEditBinding.inflate(layoutInflater).apply {
|
val alertBinding = DialogRuleSubEditBinding.inflate(layoutInflater).apply {
|
||||||
|
if (ruleSub.type !in 0..<spType.count) {
|
||||||
|
ruleSub.type = 0
|
||||||
|
}
|
||||||
spType.setSelection(ruleSub.type)
|
spType.setSelection(ruleSub.type)
|
||||||
etName.setText(ruleSub.name)
|
etName.setText(ruleSub.name)
|
||||||
etUrl.setText(ruleSub.url)
|
etUrl.setText(ruleSub.url)
|
||||||
|
|||||||
Reference in New Issue
Block a user