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