diff --git a/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt b/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt index 27f0588af..9989bd232 100644 --- a/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt @@ -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(actionStr) } - inner class CustomLoadErrorHandlingPolicy : DefaultLoadErrorHandlingPolicy(0) { + class CustomLoadErrorHandlingPolicy : DefaultLoadErrorHandlingPolicy(0) { override fun getRetryDelayMsFor(loadErrorInfo: LoadErrorHandlingPolicy.LoadErrorInfo): Long { return C.TIME_UNSET } diff --git a/app/src/main/java/io/legado/app/ui/book/group/GroupEditDialog.kt b/app/src/main/java/io/legado/app/ui/book/group/GroupEditDialog.kt index 15e0da163..316f8ec21 100644 --- a/app/src/main/java/io/legado/app/ui/book/group/GroupEditDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/group/GroupEditDialog.kt @@ -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..(), override fun editSubscription(ruleSub: RuleSub) { alert(R.string.rule_subscription) { val alertBinding = DialogRuleSubEditBinding.inflate(layoutInflater).apply { + if (ruleSub.type !in 0..