This commit is contained in:
Horis
2025-12-19 10:49:31 +08:00
parent f8224b0637
commit 4012ed9569
5 changed files with 27 additions and 4 deletions
@@ -3,6 +3,7 @@ package io.legado.app.service
import android.annotation.SuppressLint
import android.app.PendingIntent
import android.net.Uri
import androidx.core.net.toUri
import androidx.lifecycle.lifecycleScope
import androidx.media3.common.C
import androidx.media3.common.MediaItem
@@ -307,7 +308,7 @@ class HttpReadAloudService : BaseReadAloudService(),
}
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()
return DefaultDownloaderFactory(factory, okHttpClient.dispatcher.executorService)
.createDownloader(request)
@@ -586,7 +587,7 @@ class HttpReadAloudService : BaseReadAloudService(),
return servicePendingIntent<HttpReadAloudService>(actionStr)
}
inner class CustomLoadErrorHandlingPolicy : DefaultLoadErrorHandlingPolicy(0) {
class CustomLoadErrorHandlingPolicy : DefaultLoadErrorHandlingPolicy(0) {
override fun getRetryDelayMsFor(loadErrorInfo: LoadErrorHandlingPolicy.LoadErrorInfo): Long {
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.tieGroupName.setText(it.groupName)
binding.ivCover.load(it.cover)
if (it.bookSort + 1 !in 0..<binding.spSort.count) {
it.bookSort = -1
}
binding.spSort.setSelection(it.bookSort + 1)
binding.cbEnableRefresh.isChecked = it.enableRefresh
} ?: let {
@@ -3,6 +3,7 @@ package io.legado.app.ui.book.read.config
import android.os.Bundle
import android.view.View
import android.view.ViewGroup
import androidx.core.view.indices
import com.jaredrummler.android.colorpicker.ColorPickerDialog
import io.legado.app.R
import io.legado.app.base.BaseDialogFragment
@@ -44,6 +45,9 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) {
}
private fun initView() {
if (ReadBookConfig.titleMode !in binding.rgTitleMode.indices) {
ReadBookConfig.titleMode = 0
}
binding.rgTitleMode.checkByIndex(ReadBookConfig.titleMode)
binding.dsbTitleSize.progress = ReadBookConfig.titleSize
binding.dsbTitleTop.progress = ReadBookConfig.titleTopSpacing
@@ -3,6 +3,7 @@ package io.legado.app.ui.main.bookshelf
import android.annotation.SuppressLint
import android.view.Menu
import android.view.MenuItem
import androidx.core.view.indices
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.lifecycle.LiveData
@@ -164,11 +165,22 @@ abstract class BaseBookshelfFragment(layoutId: Int) : VMBaseFragment<BookshelfVi
@SuppressLint("InflateParams")
fun configBookshelf() {
alert(titleResource = R.string.bookshelf_layout) {
val bookshelfLayout = AppConfig.bookshelfLayout
val bookshelfSort = AppConfig.bookshelfSort
var bookshelfLayout = AppConfig.bookshelfLayout
var bookshelfSort = AppConfig.bookshelfSort
val alertBinding =
DialogBookshelfConfigBinding.inflate(layoutInflater)
.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)
swShowUnread.isChecked = AppConfig.showUnread
swShowLastUpdateTime.isChecked = AppConfig.showLastUpdateTime
@@ -94,6 +94,9 @@ class RuleSubActivity : BaseActivity<ActivityRuleSubBinding>(),
override fun editSubscription(ruleSub: RuleSub) {
alert(R.string.rule_subscription) {
val alertBinding = DialogRuleSubEditBinding.inflate(layoutInflater).apply {
if (ruleSub.type !in 0..<spType.count) {
ruleSub.type = 0
}
spType.setSelection(ruleSub.type)
etName.setText(ruleSub.name)
etUrl.setText(ruleSub.url)