mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
优化
Some checks failed
Test Build / prepare (push) Has been cancelled
Test Build / build (app, release) (push) Has been cancelled
Test Build / build (app, releaseA) (push) Has been cancelled
Test Build / prerelease (push) Has been cancelled
Test Build / lanzou (push) Has been cancelled
Test Build / test_Branch (push) Has been cancelled
Test Build / telegram (push) Has been cancelled
update fork / build (push) Has been cancelled
Some checks failed
Test Build / prepare (push) Has been cancelled
Test Build / build (app, release) (push) Has been cancelled
Test Build / build (app, releaseA) (push) Has been cancelled
Test Build / prerelease (push) Has been cancelled
Test Build / lanzou (push) Has been cancelled
Test Build / test_Branch (push) Has been cancelled
Test Build / telegram (push) Has been cancelled
update fork / build (push) Has been cancelled
This commit is contained in:
@@ -19,15 +19,13 @@ import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.help.config.LocalConfig
|
||||
import io.legado.app.lib.dialogs.alert
|
||||
import io.legado.app.lib.theme.primaryTextColor
|
||||
import io.legado.app.ui.book.manga.ReadMangaActivity
|
||||
import io.legado.app.ui.book.read.ReadBookActivity
|
||||
import io.legado.app.ui.book.search.SearchActivity
|
||||
import io.legado.app.utils.applyNavigationBarPadding
|
||||
import io.legado.app.utils.applyTint
|
||||
import io.legado.app.utils.cnCompare
|
||||
import io.legado.app.utils.getInt
|
||||
import io.legado.app.utils.putInt
|
||||
import io.legado.app.utils.startReadOrMangaActivity
|
||||
import io.legado.app.utils.startActivityForBook
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
import kotlinx.coroutines.launch
|
||||
@@ -193,9 +191,7 @@ class ReadRecordActivity : BaseActivity<ActivityReadRecordBinding>() {
|
||||
if (book == null) {
|
||||
SearchActivity.start(this@ReadRecordActivity, item.bookName)
|
||||
} else {
|
||||
startReadOrMangaActivity<ReadBookActivity, ReadMangaActivity>(book) {
|
||||
putExtra("bookUrl", book.bookUrl)
|
||||
}
|
||||
startActivityForBook(book)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,8 +15,6 @@ import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.lib.dialogs.alert
|
||||
import io.legado.app.lib.permission.Permissions
|
||||
import io.legado.app.lib.permission.PermissionsCompat
|
||||
import io.legado.app.ui.book.manga.ReadMangaActivity
|
||||
import io.legado.app.ui.book.read.ReadBookActivity
|
||||
import io.legado.app.ui.file.HandleFileContract
|
||||
import io.legado.app.utils.FileUtils
|
||||
import io.legado.app.utils.buildMainHandler
|
||||
@@ -27,7 +25,7 @@ import io.legado.app.utils.isContentScheme
|
||||
import io.legado.app.utils.readUri
|
||||
import io.legado.app.utils.showDialogFragment
|
||||
import io.legado.app.utils.startActivity
|
||||
import io.legado.app.utils.startReadOrMangaActivity
|
||||
import io.legado.app.utils.startActivityForBook
|
||||
import io.legado.app.utils.toastOnUi
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
@@ -92,9 +90,7 @@ class FileAssociationActivity :
|
||||
}
|
||||
viewModel.openBookLiveData.observe(this) {
|
||||
binding.rotateLoading.gone()
|
||||
startReadOrMangaActivity<ReadBookActivity, ReadMangaActivity>(it) {
|
||||
putExtra("bookUrl", it.bookUrl)
|
||||
}
|
||||
startActivityForBook(it)
|
||||
finish()
|
||||
}
|
||||
viewModel.notSupportedLiveData.observe(this) { data ->
|
||||
@@ -159,7 +155,9 @@ class FileAssociationActivity :
|
||||
val treeDoc =
|
||||
DocumentFile.fromTreeUri(this@FileAssociationActivity, treeUri)
|
||||
if (!treeDoc!!.checkWrite()) {
|
||||
throw InvalidBooksDirException("请重新设置书籍保存位置\nPermission Denial")
|
||||
throw InvalidBooksDirException(
|
||||
"请重新设置书籍保存位置\nPermission Denial"
|
||||
)
|
||||
}
|
||||
readUri(uri) { fileDoc, inputStream ->
|
||||
val name = fileDoc.name
|
||||
@@ -167,7 +165,9 @@ class FileAssociationActivity :
|
||||
if (doc == null || fileDoc.lastModified > doc.lastModified()) {
|
||||
if (doc == null) {
|
||||
doc = treeDoc.createFile(FileUtils.getMimeType(name), name)
|
||||
?: throw InvalidBooksDirException("请重新设置书籍保存位置\nPermission Denial")
|
||||
?: throw InvalidBooksDirException(
|
||||
"请重新设置书籍保存位置\nPermission Denial"
|
||||
)
|
||||
}
|
||||
contentResolver.openOutputStream(doc.uri)!!.use { oStream ->
|
||||
inputStream.copyTo(oStream)
|
||||
@@ -179,7 +179,9 @@ class FileAssociationActivity :
|
||||
} else {
|
||||
val treeFile = File(treeUri.path ?: treeUri.toString())
|
||||
if (!treeFile.checkWrite()) {
|
||||
throw InvalidBooksDirException("请重新设置书籍保存位置\nPermission Denial")
|
||||
throw InvalidBooksDirException(
|
||||
"请重新设置书籍保存位置\nPermission Denial"
|
||||
)
|
||||
}
|
||||
readUri(uri) { fileDoc, inputStream ->
|
||||
val name = fileDoc.name
|
||||
|
||||
@@ -31,8 +31,6 @@ import io.legado.app.model.BookCover
|
||||
import io.legado.app.service.AudioPlayService
|
||||
import io.legado.app.ui.about.AppLogDialog
|
||||
import io.legado.app.ui.book.changesource.ChangeBookSourceDialog
|
||||
import io.legado.app.ui.book.manga.ReadMangaActivity
|
||||
import io.legado.app.ui.book.read.ReadBookActivity
|
||||
import io.legado.app.ui.book.source.edit.BookSourceEditActivity
|
||||
import io.legado.app.ui.book.toc.TocActivityResult
|
||||
import io.legado.app.ui.login.SourceLoginActivity
|
||||
@@ -46,7 +44,7 @@ import io.legado.app.utils.observeEventSticky
|
||||
import io.legado.app.utils.sendToClip
|
||||
import io.legado.app.utils.showDialogFragment
|
||||
import io.legado.app.utils.startActivity
|
||||
import io.legado.app.utils.startReadOrMangaActivity
|
||||
import io.legado.app.utils.startActivityForBook
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import io.legado.app.utils.visible
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
@@ -220,9 +218,7 @@ class AudioPlayActivity :
|
||||
AudioPlay.book?.delete()
|
||||
appDb.bookDao.insert(book)
|
||||
}
|
||||
startReadOrMangaActivity<ReadBookActivity,ReadMangaActivity>(book) {
|
||||
putExtra("bookUrl", book.bookUrl)
|
||||
}
|
||||
startActivityForBook(book)
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,15 +15,13 @@ import io.legado.app.lib.dialogs.alert
|
||||
import io.legado.app.lib.dialogs.selector
|
||||
import io.legado.app.lib.theme.primaryTextColor
|
||||
import io.legado.app.model.localBook.LocalBook
|
||||
import io.legado.app.ui.book.manga.ReadMangaActivity
|
||||
import io.legado.app.ui.book.read.ReadBookActivity
|
||||
import io.legado.app.ui.file.HandleFileContract
|
||||
import io.legado.app.utils.ArchiveUtils
|
||||
import io.legado.app.utils.FileDoc
|
||||
import io.legado.app.utils.applyTint
|
||||
import io.legado.app.utils.hideSoftInput
|
||||
import io.legado.app.utils.shouldHideSoftInput
|
||||
import io.legado.app.utils.startReadOrMangaActivity
|
||||
import io.legado.app.utils.startActivityForBook
|
||||
import io.legado.app.utils.toastOnUi
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlin.coroutines.resume
|
||||
@@ -99,9 +97,7 @@ abstract class BaseImportBookActivity<VM : ViewModel> : VMBaseActivity<ActivityI
|
||||
abstract fun onSearchTextChange(newText: String?)
|
||||
|
||||
protected fun startReadBook(book: Book) {
|
||||
startReadOrMangaActivity<ReadBookActivity, ReadMangaActivity>(book) {
|
||||
putExtra("bookUrl", book.bookUrl)
|
||||
}
|
||||
startActivityForBook(book)
|
||||
}
|
||||
|
||||
protected fun onArchiveFileClick(fileDoc: FileDoc) {
|
||||
|
||||
@@ -67,7 +67,6 @@ import io.legado.app.receiver.NetworkChangedListener
|
||||
import io.legado.app.receiver.TimeBatteryReceiver
|
||||
import io.legado.app.service.BaseReadAloudService
|
||||
import io.legado.app.ui.about.AppLogDialog
|
||||
import io.legado.app.ui.book.audio.AudioPlayActivity
|
||||
import io.legado.app.ui.book.bookmark.BookmarkDialog
|
||||
import io.legado.app.ui.book.changesource.ChangeBookSourceDialog
|
||||
import io.legado.app.ui.book.changesource.ChangeChapterSourceDialog
|
||||
@@ -121,6 +120,7 @@ import io.legado.app.utils.postEvent
|
||||
import io.legado.app.utils.showDialogFragment
|
||||
import io.legado.app.utils.showHelp
|
||||
import io.legado.app.utils.startActivity
|
||||
import io.legado.app.utils.startActivityForBook
|
||||
import io.legado.app.utils.sysScreenOffTime
|
||||
import io.legado.app.utils.throttle
|
||||
import io.legado.app.utils.toastOnUi
|
||||
@@ -1091,9 +1091,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
||||
ReadBook.book?.delete()
|
||||
appDb.bookDao.insert(book)
|
||||
}
|
||||
startActivity<AudioPlayActivity> {
|
||||
putExtra("bookUrl", book.bookUrl)
|
||||
}
|
||||
startActivityForBook(book)
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,21 +22,17 @@ import io.legado.app.data.appDb
|
||||
import io.legado.app.data.entities.Book
|
||||
import io.legado.app.data.entities.BookGroup
|
||||
import io.legado.app.databinding.FragmentBooksBinding
|
||||
import io.legado.app.help.book.isAudio
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.lib.theme.accentColor
|
||||
import io.legado.app.lib.theme.primaryColor
|
||||
import io.legado.app.ui.book.audio.AudioPlayActivity
|
||||
import io.legado.app.ui.book.info.BookInfoActivity
|
||||
import io.legado.app.ui.book.manga.ReadMangaActivity
|
||||
import io.legado.app.ui.book.read.ReadBookActivity
|
||||
import io.legado.app.ui.main.MainViewModel
|
||||
import io.legado.app.utils.cnCompare
|
||||
import io.legado.app.utils.flowWithLifecycleAndDatabaseChangeFirst
|
||||
import io.legado.app.utils.observeEvent
|
||||
import io.legado.app.utils.setEdgeEffectColor
|
||||
import io.legado.app.utils.startActivity
|
||||
import io.legado.app.utils.startReadOrMangaActivity
|
||||
import io.legado.app.utils.startActivityForBook
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.Job
|
||||
@@ -243,16 +239,7 @@ class BooksFragment() : BaseFragment(R.layout.fragment_books),
|
||||
}
|
||||
|
||||
override fun open(book: Book) {
|
||||
when {
|
||||
book.isAudio ->
|
||||
startActivity<AudioPlayActivity> {
|
||||
putExtra("bookUrl", book.bookUrl)
|
||||
}
|
||||
|
||||
else -> startReadOrMangaActivity<ReadBookActivity, ReadMangaActivity>(book) {
|
||||
putExtra("bookUrl", book.bookUrl)
|
||||
}
|
||||
}
|
||||
startActivityForBook(book)
|
||||
}
|
||||
|
||||
override fun openBookInfo(book: Book) {
|
||||
|
||||
@@ -18,15 +18,11 @@ import io.legado.app.data.appDb
|
||||
import io.legado.app.data.entities.Book
|
||||
import io.legado.app.data.entities.BookGroup
|
||||
import io.legado.app.databinding.FragmentBookshelf2Binding
|
||||
import io.legado.app.help.book.isAudio
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.lib.theme.accentColor
|
||||
import io.legado.app.lib.theme.primaryColor
|
||||
import io.legado.app.ui.book.audio.AudioPlayActivity
|
||||
import io.legado.app.ui.book.group.GroupEditDialog
|
||||
import io.legado.app.ui.book.info.BookInfoActivity
|
||||
import io.legado.app.ui.book.manga.ReadMangaActivity
|
||||
import io.legado.app.ui.book.read.ReadBookActivity
|
||||
import io.legado.app.ui.book.search.SearchActivity
|
||||
import io.legado.app.ui.main.bookshelf.BaseBookshelfFragment
|
||||
import io.legado.app.utils.cnCompare
|
||||
@@ -35,7 +31,7 @@ import io.legado.app.utils.observeEvent
|
||||
import io.legado.app.utils.setEdgeEffectColor
|
||||
import io.legado.app.utils.showDialogFragment
|
||||
import io.legado.app.utils.startActivity
|
||||
import io.legado.app.utils.startReadOrMangaActivity
|
||||
import io.legado.app.utils.startActivityForBook
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.Job
|
||||
@@ -213,16 +209,7 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2)
|
||||
|
||||
override fun onItemClick(item: Any) {
|
||||
when (item) {
|
||||
is Book -> when {
|
||||
item.isAudio ->
|
||||
startActivity<AudioPlayActivity> {
|
||||
putExtra("bookUrl", item.bookUrl)
|
||||
}
|
||||
|
||||
else -> startReadOrMangaActivity<ReadBookActivity, ReadMangaActivity>(item) {
|
||||
putExtra("bookUrl", item.bookUrl)
|
||||
}
|
||||
}
|
||||
is Book -> startActivityForBook(item)
|
||||
|
||||
is BookGroup -> {
|
||||
groupId = item.groupId
|
||||
|
||||
@@ -40,8 +40,12 @@ import io.legado.app.R
|
||||
import io.legado.app.constant.AppConst
|
||||
import io.legado.app.data.entities.Book
|
||||
import io.legado.app.help.IntentHelp
|
||||
import io.legado.app.help.book.isAudio
|
||||
import io.legado.app.help.book.isImage
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.ui.book.audio.AudioPlayActivity
|
||||
import io.legado.app.ui.book.manga.ReadMangaActivity
|
||||
import io.legado.app.ui.book.read.ReadBookActivity
|
||||
import splitties.systemservices.clipboardManager
|
||||
import splitties.systemservices.connectivityManager
|
||||
import splitties.systemservices.uiModeManager
|
||||
@@ -56,13 +60,18 @@ inline fun <reified A : Activity> Context.startActivity(configIntent: Intent.()
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
inline fun <reified A : Activity, reified M : Activity> Context.startReadOrMangaActivity(
|
||||
fun Context.startActivityForBook(
|
||||
book: Book,
|
||||
configIntent: Intent.() -> Unit = {},
|
||||
) {
|
||||
val intent =
|
||||
Intent(this, if (book.isImage && AppConfig.showMangaUi) M::class.java else A::class.java)
|
||||
val cls = when {
|
||||
book.isAudio -> AudioPlayActivity::class.java
|
||||
book.isImage && AppConfig.showMangaUi -> ReadMangaActivity::class.java
|
||||
else -> ReadBookActivity::class.java
|
||||
}
|
||||
val intent = Intent(this, cls)
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
intent.putExtra("bookUrl", book.bookUrl)
|
||||
intent.apply(configIntent)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
@@ -15,8 +15,12 @@ import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import io.legado.app.R
|
||||
import io.legado.app.data.entities.Book
|
||||
import io.legado.app.help.book.isAudio
|
||||
import io.legado.app.help.book.isImage
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.ui.book.audio.AudioPlayActivity
|
||||
import io.legado.app.ui.book.manga.ReadMangaActivity
|
||||
import io.legado.app.ui.book.read.ReadBookActivity
|
||||
import io.legado.app.ui.widget.dialog.TextDialog
|
||||
|
||||
inline fun <reified T : DialogFragment> Fragment.showDialogFragment(
|
||||
@@ -84,15 +88,18 @@ inline fun <reified T : Activity> Fragment.startActivity(
|
||||
startActivity(Intent(requireContext(), T::class.java).apply(configIntent))
|
||||
}
|
||||
|
||||
inline fun <reified A : Activity, reified M : Activity> Fragment.startReadOrMangaActivity(
|
||||
fun Fragment.startActivityForBook(
|
||||
book: Book,
|
||||
configIntent: Intent.() -> Unit = {},
|
||||
) {
|
||||
val intent = Intent(
|
||||
requireActivity(),
|
||||
if (book.isImage && AppConfig.showMangaUi) M::class.java else A::class.java
|
||||
)
|
||||
val cls = when {
|
||||
book.isAudio -> AudioPlayActivity::class.java
|
||||
book.isImage && AppConfig.showMangaUi -> ReadMangaActivity::class.java
|
||||
else -> ReadBookActivity::class.java
|
||||
}
|
||||
val intent = Intent(requireActivity(), cls)
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
intent.putExtra("bookUrl", book.bookUrl)
|
||||
intent.apply(configIntent)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user