去掉了共享元素动画的相关设置
This commit is contained in:
@@ -253,8 +253,6 @@ object PreferKey {
|
||||
const val paddingDisplayCutouts = "paddingDisplayCutouts"
|
||||
const val autoCheckNewBackup = "autoCheckNewBackup"
|
||||
const val backupSyncMode = "backupSyncMode"
|
||||
const val delayBookLoadEnable = "delayBookLoadEnable"
|
||||
const val sharedElementEnterTransitionEnable = "sharedElementEnterTransitionEnable"
|
||||
const val bookshelfLayoutGridLandscape = "bookshelfLayoutGridLandscape"
|
||||
const val bookshelfLayoutGridPortrait = "bookshelfLayoutGridPortrait"
|
||||
const val bookshelfLayoutListLandscape = "bookshelfLayoutListLandscape"
|
||||
|
||||
@@ -607,12 +607,6 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
val paddingDisplayCutouts
|
||||
get() = appCtx.getPrefBoolean(PreferKey.paddingDisplayCutouts, false)
|
||||
|
||||
val delayBookLoadEnable
|
||||
get() = appCtx.getPrefBoolean(PreferKey.delayBookLoadEnable, true)
|
||||
|
||||
val sharedElementEnterTransitionEnable
|
||||
get() = appCtx.getPrefBoolean(PreferKey.sharedElementEnterTransitionEnable, false)
|
||||
|
||||
var searchScope: String
|
||||
get() = appCtx.getPrefString("searchScope") ?: ""
|
||||
set(value) {
|
||||
|
||||
@@ -4,8 +4,8 @@ package io.legado.app.ui.book.read
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.content.res.Configuration
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.os.Looper
|
||||
import android.view.Gravity
|
||||
import android.view.HapticFeedbackConstants
|
||||
import android.view.InputDevice
|
||||
@@ -22,8 +22,6 @@ import androidx.core.view.HapticFeedbackConstantsCompat
|
||||
import androidx.core.view.get
|
||||
import androidx.core.view.size
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.google.android.material.transition.platform.MaterialContainerTransform
|
||||
import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback
|
||||
import com.jaredrummler.android.colorpicker.ColorPickerDialogListener
|
||||
import com.script.rhino.runScriptWithContext
|
||||
import io.legado.app.BuildConfig
|
||||
@@ -84,14 +82,14 @@ import io.legado.app.ui.book.read.config.FontConfigDialog.Companion.TEXT_COLOR
|
||||
import io.legado.app.ui.book.read.config.FontSelectDialog
|
||||
import io.legado.app.ui.book.read.config.ReadAloudDialog
|
||||
import io.legado.app.ui.book.read.config.ReadStyleDialog
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.A_COLOR
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.B_COLOR
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TIP_HEADER_COLOR
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TIP_FOOTER_COLOR
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TIP_DIVIDER_COLOR
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TITLE_COLOR
|
||||
import io.legado.app.ui.book.read.config.RegexColorConfigDialog
|
||||
import io.legado.app.ui.book.read.config.RegexColorConfigDialog.Companion.REGEX_RULE_COLOR
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.A_COLOR
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.B_COLOR
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TIP_DIVIDER_COLOR
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TIP_FOOTER_COLOR
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TIP_HEADER_COLOR
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TITLE_COLOR
|
||||
import io.legado.app.ui.book.read.config.ToolButtonConfigDialog
|
||||
import io.legado.app.ui.book.read.config.UnderlineConfigDialog.Companion.U_COLOR
|
||||
import io.legado.app.ui.book.read.page.ContentTextView
|
||||
@@ -99,8 +97,8 @@ import io.legado.app.ui.book.read.page.ReadView
|
||||
import io.legado.app.ui.book.read.page.entities.PageDirection
|
||||
import io.legado.app.ui.book.read.page.entities.TextPage
|
||||
import io.legado.app.ui.book.read.page.provider.ChapterProvider
|
||||
import io.legado.app.ui.book.read.page.provider.TextChapterLayout
|
||||
import io.legado.app.ui.book.read.page.provider.LayoutProgressListener
|
||||
import io.legado.app.ui.book.read.page.provider.TextChapterLayout
|
||||
import io.legado.app.ui.book.searchContent.SearchContentActivity
|
||||
import io.legado.app.ui.book.searchContent.SearchResult
|
||||
import io.legado.app.ui.book.source.edit.BookSourceEditActivity
|
||||
@@ -139,11 +137,9 @@ 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.themeColor
|
||||
import io.legado.app.utils.throttle
|
||||
import io.legado.app.utils.toastOnUi
|
||||
import io.legado.app.utils.visible
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
import kotlinx.coroutines.Dispatchers.Main
|
||||
import kotlinx.coroutines.Job
|
||||
@@ -295,32 +291,10 @@ class ReadBookActivity : BaseReadBookActivity(),
|
||||
private var justInitData: Boolean = false
|
||||
private var syncDialog: AlertDialog? = null
|
||||
|
||||
private val delayMillis: Long = 500
|
||||
private var hasLoadedBook = false
|
||||
|
||||
private fun ensureLoadBook() {
|
||||
if (!hasLoadedBook) {
|
||||
hasLoadedBook = true
|
||||
loadBook()
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
setEnterSharedElementCallback(MaterialContainerTransformSharedElementCallback())
|
||||
setExitSharedElementCallback(MaterialContainerTransformSharedElementCallback())
|
||||
val transform = MaterialContainerTransform().apply {
|
||||
addTarget(binding.root)
|
||||
scrimColor = Color.TRANSPARENT
|
||||
duration = delayMillis
|
||||
}
|
||||
window.sharedElementEnterTransition = transform
|
||||
window.sharedElementReturnTransition = transform
|
||||
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
binding.rootView.transitionName = intent.getStringExtra("transitionName")
|
||||
|
||||
upScreenTimeOut()
|
||||
ReadBook.register(this)
|
||||
binding.cursorLeft.setOnTouchListener(this)
|
||||
@@ -364,13 +338,12 @@ class ReadBookActivity : BaseReadBookActivity(),
|
||||
|
||||
override fun onPostCreate(savedInstanceState: Bundle?) {
|
||||
super.onPostCreate(savedInstanceState)
|
||||
if (!AppConfig.sharedElementEnterTransitionEnable || !AppConfig.delayBookLoadEnable) {
|
||||
ensureLoadBook()
|
||||
viewModel.initReadBookConfig(intent)
|
||||
Looper.myQueue().addIdleHandler {
|
||||
viewModel.initData(intent)
|
||||
false
|
||||
}
|
||||
//虽然很扯但有用
|
||||
binding.rootView.postDelayed({
|
||||
ensureLoadBook()
|
||||
}, delayMillis)
|
||||
justInitData = true
|
||||
}
|
||||
|
||||
override fun onNewIntent(intent: Intent) {
|
||||
@@ -488,16 +461,6 @@ class ReadBookActivity : BaseReadBookActivity(),
|
||||
return super.onMenuOpened(featureId, menu)
|
||||
}
|
||||
|
||||
private fun loadBook() {
|
||||
lifecycleScope.launch(Dispatchers.Default) {
|
||||
viewModel.initReadBookConfig(intent)
|
||||
viewModel.initData(intent)
|
||||
withContext(Main) {
|
||||
justInitData = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新菜单
|
||||
*/
|
||||
|
||||
@@ -93,7 +93,16 @@ class ReadBookViewModel(
|
||||
} ?: ReadBook.book
|
||||
when {
|
||||
book != null -> initBook(book)
|
||||
else -> ReadBook.upMsg(context.getString(R.string.no_book))
|
||||
else -> {
|
||||
ReadBook.upMsg(context.getString(R.string.no_book))
|
||||
AppLog.put("未找到书籍\nbookUrl:$bookUrl")
|
||||
}
|
||||
}
|
||||
val index = intent.getIntExtra("index", -1)
|
||||
val chapterPos = intent.getIntExtra("chapterPos", -1)
|
||||
if (index >= 0 && chapterPos >= 0) { //从书签打开的正文,有进度传递
|
||||
ReadBook.saveCurrentBookProgress() //启用恢复进度提示
|
||||
openChapter(index, chapterPos)
|
||||
}
|
||||
}.onSuccess {
|
||||
success?.invoke()
|
||||
|
||||
@@ -103,16 +103,6 @@ object OtherConfig {
|
||||
DownloadCacheConfig.cronetEnable = value
|
||||
}
|
||||
|
||||
var sharedElementEnterTransitionEnable by prefDelegate(
|
||||
PreferKey.sharedElementEnterTransitionEnable,
|
||||
false
|
||||
)
|
||||
|
||||
var delayBookLoadEnable by prefDelegate(
|
||||
PreferKey.delayBookLoadEnable,
|
||||
true
|
||||
)
|
||||
|
||||
var webServiceWakeLock by prefDelegate(
|
||||
PreferKey.webServiceWakeLock,
|
||||
false
|
||||
|
||||
@@ -28,7 +28,6 @@ import io.legado.app.ui.widget.components.AppScaffold
|
||||
import io.legado.app.ui.widget.components.AppTextField
|
||||
import io.legado.app.ui.widget.components.SplicedColumnGroup
|
||||
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
||||
import io.legado.app.ui.widget.components.topbar.TopBarNavigationButton
|
||||
import io.legado.app.ui.widget.components.filePicker.FilePickerSheet
|
||||
import io.legado.app.ui.widget.components.settingItem.ClickableSettingItem
|
||||
import io.legado.app.ui.widget.components.settingItem.DropdownListSettingItem
|
||||
@@ -36,6 +35,7 @@ import io.legado.app.ui.widget.components.settingItem.InputSettingItem
|
||||
import io.legado.app.ui.widget.components.settingItem.SwitchSettingItem
|
||||
import io.legado.app.ui.widget.components.topbar.GlassMediumFlexibleTopAppBar
|
||||
import io.legado.app.ui.widget.components.topbar.GlassTopAppBarDefaults
|
||||
import io.legado.app.ui.widget.components.topbar.TopBarNavigationButton
|
||||
import io.legado.app.utils.restart
|
||||
import io.legado.app.utils.takePersistablePermissionSafely
|
||||
import org.koin.androidx.compose.koinViewModel
|
||||
@@ -241,20 +241,6 @@ fun OtherConfigScreen(
|
||||
|
||||
SplicedColumnGroup(title = stringResource(R.string.other_setting)) {
|
||||
|
||||
SwitchSettingItem(
|
||||
title = stringResource(R.string.use_animation),
|
||||
description = stringResource(R.string.opt_animation),
|
||||
checked = OtherConfig.sharedElementEnterTransitionEnable,
|
||||
onCheckedChange = { OtherConfig.sharedElementEnterTransitionEnable = it }
|
||||
)
|
||||
|
||||
SwitchSettingItem(
|
||||
title = stringResource(R.string.delay_book_load),
|
||||
description = stringResource(R.string.reduce_stutter),
|
||||
checked = OtherConfig.delayBookLoadEnable,
|
||||
onCheckedChange = { OtherConfig.delayBookLoadEnable = it }
|
||||
)
|
||||
|
||||
SwitchSettingItem(
|
||||
title = stringResource(R.string.web_service_wake_lock),
|
||||
description = stringResource(R.string.web_service_wake_lock_summary),
|
||||
|
||||
Reference in New Issue
Block a user