去掉了共享元素动画的相关设置
This commit is contained in:
@@ -253,8 +253,6 @@ object PreferKey {
|
|||||||
const val paddingDisplayCutouts = "paddingDisplayCutouts"
|
const val paddingDisplayCutouts = "paddingDisplayCutouts"
|
||||||
const val autoCheckNewBackup = "autoCheckNewBackup"
|
const val autoCheckNewBackup = "autoCheckNewBackup"
|
||||||
const val backupSyncMode = "backupSyncMode"
|
const val backupSyncMode = "backupSyncMode"
|
||||||
const val delayBookLoadEnable = "delayBookLoadEnable"
|
|
||||||
const val sharedElementEnterTransitionEnable = "sharedElementEnterTransitionEnable"
|
|
||||||
const val bookshelfLayoutGridLandscape = "bookshelfLayoutGridLandscape"
|
const val bookshelfLayoutGridLandscape = "bookshelfLayoutGridLandscape"
|
||||||
const val bookshelfLayoutGridPortrait = "bookshelfLayoutGridPortrait"
|
const val bookshelfLayoutGridPortrait = "bookshelfLayoutGridPortrait"
|
||||||
const val bookshelfLayoutListLandscape = "bookshelfLayoutListLandscape"
|
const val bookshelfLayoutListLandscape = "bookshelfLayoutListLandscape"
|
||||||
|
|||||||
@@ -607,12 +607,6 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
|||||||
val paddingDisplayCutouts
|
val paddingDisplayCutouts
|
||||||
get() = appCtx.getPrefBoolean(PreferKey.paddingDisplayCutouts, false)
|
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
|
var searchScope: String
|
||||||
get() = appCtx.getPrefString("searchScope") ?: ""
|
get() = appCtx.getPrefString("searchScope") ?: ""
|
||||||
set(value) {
|
set(value) {
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ package io.legado.app.ui.book.read
|
|||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import android.graphics.Color
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.os.Looper
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
import android.view.HapticFeedbackConstants
|
import android.view.HapticFeedbackConstants
|
||||||
import android.view.InputDevice
|
import android.view.InputDevice
|
||||||
@@ -22,8 +22,6 @@ import androidx.core.view.HapticFeedbackConstantsCompat
|
|||||||
import androidx.core.view.get
|
import androidx.core.view.get
|
||||||
import androidx.core.view.size
|
import androidx.core.view.size
|
||||||
import androidx.lifecycle.lifecycleScope
|
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.jaredrummler.android.colorpicker.ColorPickerDialogListener
|
||||||
import com.script.rhino.runScriptWithContext
|
import com.script.rhino.runScriptWithContext
|
||||||
import io.legado.app.BuildConfig
|
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.FontSelectDialog
|
||||||
import io.legado.app.ui.book.read.config.ReadAloudDialog
|
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.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
|
||||||
import io.legado.app.ui.book.read.config.RegexColorConfigDialog.Companion.REGEX_RULE_COLOR
|
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.ToolButtonConfigDialog
|
||||||
import io.legado.app.ui.book.read.config.UnderlineConfigDialog.Companion.U_COLOR
|
import io.legado.app.ui.book.read.config.UnderlineConfigDialog.Companion.U_COLOR
|
||||||
import io.legado.app.ui.book.read.page.ContentTextView
|
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.PageDirection
|
||||||
import io.legado.app.ui.book.read.page.entities.TextPage
|
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.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.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.SearchContentActivity
|
||||||
import io.legado.app.ui.book.searchContent.SearchResult
|
import io.legado.app.ui.book.searchContent.SearchResult
|
||||||
import io.legado.app.ui.book.source.edit.BookSourceEditActivity
|
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.startActivity
|
||||||
import io.legado.app.utils.startActivityForBook
|
import io.legado.app.utils.startActivityForBook
|
||||||
import io.legado.app.utils.sysScreenOffTime
|
import io.legado.app.utils.sysScreenOffTime
|
||||||
import io.legado.app.utils.themeColor
|
|
||||||
import io.legado.app.utils.throttle
|
import io.legado.app.utils.throttle
|
||||||
import io.legado.app.utils.toastOnUi
|
import io.legado.app.utils.toastOnUi
|
||||||
import io.legado.app.utils.visible
|
import io.legado.app.utils.visible
|
||||||
import kotlinx.coroutines.Dispatchers
|
|
||||||
import kotlinx.coroutines.Dispatchers.IO
|
import kotlinx.coroutines.Dispatchers.IO
|
||||||
import kotlinx.coroutines.Dispatchers.Main
|
import kotlinx.coroutines.Dispatchers.Main
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
@@ -295,32 +291,10 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|||||||
private var justInitData: Boolean = false
|
private var justInitData: Boolean = false
|
||||||
private var syncDialog: AlertDialog? = null
|
private var syncDialog: AlertDialog? = null
|
||||||
|
|
||||||
private val delayMillis: Long = 500
|
|
||||||
private var hasLoadedBook = false
|
|
||||||
|
|
||||||
private fun ensureLoadBook() {
|
|
||||||
if (!hasLoadedBook) {
|
|
||||||
hasLoadedBook = true
|
|
||||||
loadBook()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressLint("ClickableViewAccessibility")
|
@SuppressLint("ClickableViewAccessibility")
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
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)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
binding.rootView.transitionName = intent.getStringExtra("transitionName")
|
|
||||||
|
|
||||||
upScreenTimeOut()
|
upScreenTimeOut()
|
||||||
ReadBook.register(this)
|
ReadBook.register(this)
|
||||||
binding.cursorLeft.setOnTouchListener(this)
|
binding.cursorLeft.setOnTouchListener(this)
|
||||||
@@ -364,13 +338,12 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|||||||
|
|
||||||
override fun onPostCreate(savedInstanceState: Bundle?) {
|
override fun onPostCreate(savedInstanceState: Bundle?) {
|
||||||
super.onPostCreate(savedInstanceState)
|
super.onPostCreate(savedInstanceState)
|
||||||
if (!AppConfig.sharedElementEnterTransitionEnable || !AppConfig.delayBookLoadEnable) {
|
viewModel.initReadBookConfig(intent)
|
||||||
ensureLoadBook()
|
Looper.myQueue().addIdleHandler {
|
||||||
|
viewModel.initData(intent)
|
||||||
|
false
|
||||||
}
|
}
|
||||||
//虽然很扯但有用
|
justInitData = true
|
||||||
binding.rootView.postDelayed({
|
|
||||||
ensureLoadBook()
|
|
||||||
}, delayMillis)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onNewIntent(intent: Intent) {
|
override fun onNewIntent(intent: Intent) {
|
||||||
@@ -488,16 +461,6 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|||||||
return super.onMenuOpened(featureId, menu)
|
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
|
} ?: ReadBook.book
|
||||||
when {
|
when {
|
||||||
book != null -> initBook(book)
|
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 {
|
}.onSuccess {
|
||||||
success?.invoke()
|
success?.invoke()
|
||||||
|
|||||||
@@ -103,16 +103,6 @@ object OtherConfig {
|
|||||||
DownloadCacheConfig.cronetEnable = value
|
DownloadCacheConfig.cronetEnable = value
|
||||||
}
|
}
|
||||||
|
|
||||||
var sharedElementEnterTransitionEnable by prefDelegate(
|
|
||||||
PreferKey.sharedElementEnterTransitionEnable,
|
|
||||||
false
|
|
||||||
)
|
|
||||||
|
|
||||||
var delayBookLoadEnable by prefDelegate(
|
|
||||||
PreferKey.delayBookLoadEnable,
|
|
||||||
true
|
|
||||||
)
|
|
||||||
|
|
||||||
var webServiceWakeLock by prefDelegate(
|
var webServiceWakeLock by prefDelegate(
|
||||||
PreferKey.webServiceWakeLock,
|
PreferKey.webServiceWakeLock,
|
||||||
false
|
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.AppTextField
|
||||||
import io.legado.app.ui.widget.components.SplicedColumnGroup
|
import io.legado.app.ui.widget.components.SplicedColumnGroup
|
||||||
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
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.filePicker.FilePickerSheet
|
||||||
import io.legado.app.ui.widget.components.settingItem.ClickableSettingItem
|
import io.legado.app.ui.widget.components.settingItem.ClickableSettingItem
|
||||||
import io.legado.app.ui.widget.components.settingItem.DropdownListSettingItem
|
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.settingItem.SwitchSettingItem
|
||||||
import io.legado.app.ui.widget.components.topbar.GlassMediumFlexibleTopAppBar
|
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.GlassTopAppBarDefaults
|
||||||
|
import io.legado.app.ui.widget.components.topbar.TopBarNavigationButton
|
||||||
import io.legado.app.utils.restart
|
import io.legado.app.utils.restart
|
||||||
import io.legado.app.utils.takePersistablePermissionSafely
|
import io.legado.app.utils.takePersistablePermissionSafely
|
||||||
import org.koin.androidx.compose.koinViewModel
|
import org.koin.androidx.compose.koinViewModel
|
||||||
@@ -241,20 +241,6 @@ fun OtherConfigScreen(
|
|||||||
|
|
||||||
SplicedColumnGroup(title = stringResource(R.string.other_setting)) {
|
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(
|
SwitchSettingItem(
|
||||||
title = stringResource(R.string.web_service_wake_lock),
|
title = stringResource(R.string.web_service_wake_lock),
|
||||||
description = stringResource(R.string.web_service_wake_lock_summary),
|
description = stringResource(R.string.web_service_wake_lock_summary),
|
||||||
|
|||||||
@@ -172,18 +172,6 @@
|
|||||||
app:iconSpaceReserved="false"
|
app:iconSpaceReserved="false"
|
||||||
app:layout="@layout/view_preference_category">
|
app:layout="@layout/view_preference_category">
|
||||||
|
|
||||||
<io.legado.app.lib.prefs.SwitchPreference
|
|
||||||
android:defaultValue="false"
|
|
||||||
android:key="sharedElementEnterTransitionEnable"
|
|
||||||
android:summary="@string/opt_animation"
|
|
||||||
android:title="@string/use_animation" />
|
|
||||||
|
|
||||||
<io.legado.app.lib.prefs.SwitchPreference
|
|
||||||
android:defaultValue="true"
|
|
||||||
android:key="delayBookLoadEnable"
|
|
||||||
android:summary="@string/reduce_stutter"
|
|
||||||
android:title="@string/delay_book_load" />
|
|
||||||
|
|
||||||
<io.legado.app.lib.prefs.Preference
|
<io.legado.app.lib.prefs.Preference
|
||||||
android:key="userAgent"
|
android:key="userAgent"
|
||||||
android:title="@string/user_agent" />
|
android:title="@string/user_agent" />
|
||||||
|
|||||||
Reference in New Issue
Block a user