优化
This commit is contained in:
@@ -696,5 +696,41 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
appCtx.putPrefBoolean(PreferKey.enableMangaGray, value)
|
||||
}
|
||||
|
||||
var welcomeImage
|
||||
get() = appCtx.getPrefString(PreferKey.welcomeImage)
|
||||
set(value) {
|
||||
appCtx.putPrefString(PreferKey.welcomeImage, value)
|
||||
}
|
||||
|
||||
var welcomeShowText
|
||||
get() = appCtx.getPrefBoolean(PreferKey.welcomeShowText, true)
|
||||
set(value) {
|
||||
appCtx.putPrefBoolean(PreferKey.welcomeShowText, value)
|
||||
}
|
||||
|
||||
var welcomeShowIcon
|
||||
get() = appCtx.getPrefBoolean(PreferKey.welcomeShowIcon, true)
|
||||
set(value) {
|
||||
appCtx.putPrefBoolean(PreferKey.welcomeShowIcon, value)
|
||||
}
|
||||
|
||||
var welcomeImageDark
|
||||
get() = appCtx.getPrefString(PreferKey.welcomeImageDark)
|
||||
set(value) {
|
||||
appCtx.putPrefString(PreferKey.welcomeImageDark, value)
|
||||
}
|
||||
|
||||
var welcomeShowTextDark
|
||||
get() = appCtx.getPrefBoolean(PreferKey.welcomeShowTextDark, true)
|
||||
set(value) {
|
||||
appCtx.putPrefBoolean(PreferKey.welcomeShowTextDark, value)
|
||||
}
|
||||
|
||||
var welcomeShowIconDark
|
||||
get() = appCtx.getPrefBoolean(PreferKey.welcomeShowIconDark, true)
|
||||
set(value) {
|
||||
appCtx.putPrefBoolean(PreferKey.welcomeShowIconDark, value)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -8,11 +8,23 @@ import android.view.View
|
||||
import androidx.preference.Preference
|
||||
import io.legado.app.R
|
||||
import io.legado.app.constant.PreferKey
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.lib.dialogs.selector
|
||||
import io.legado.app.lib.prefs.SwitchPreference
|
||||
import io.legado.app.lib.prefs.fragment.PreferenceFragment
|
||||
import io.legado.app.lib.theme.primaryColor
|
||||
import io.legado.app.model.BookCover
|
||||
import io.legado.app.utils.*
|
||||
import io.legado.app.utils.FileUtils
|
||||
import io.legado.app.utils.MD5Utils
|
||||
import io.legado.app.utils.SelectImageContract
|
||||
import io.legado.app.utils.externalFiles
|
||||
import io.legado.app.utils.getPrefString
|
||||
import io.legado.app.utils.inputStream
|
||||
import io.legado.app.utils.putPrefString
|
||||
import io.legado.app.utils.readUri
|
||||
import io.legado.app.utils.removePref
|
||||
import io.legado.app.utils.setEdgeEffectColor
|
||||
import io.legado.app.utils.toastOnUi
|
||||
import splitties.init.appCtx
|
||||
import java.io.FileOutputStream
|
||||
|
||||
@@ -32,8 +44,22 @@ class WelcomeConfigFragment : PreferenceFragment(),
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
addPreferencesFromResource(R.xml.pref_config_welcome)
|
||||
upPreferenceSummary(PreferKey.welcomeImage, getPrefString(PreferKey.welcomeImage))
|
||||
upPreferenceSummary(PreferKey.welcomeImageDark, getPrefString(PreferKey.welcomeImageDark))
|
||||
val welcomeImage = AppConfig.welcomeImage
|
||||
val welcomeImageDark = AppConfig.welcomeImageDark
|
||||
upPreferenceSummary(PreferKey.welcomeImage, welcomeImage)
|
||||
upPreferenceSummary(PreferKey.welcomeImageDark, welcomeImageDark)
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowText)?.let {
|
||||
it.isEnabled = !welcomeImage.isNullOrEmpty()
|
||||
}
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowIcon)?.let {
|
||||
it.isEnabled = !welcomeImage.isNullOrEmpty()
|
||||
}
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowTextDark)?.let {
|
||||
it.isEnabled = !welcomeImageDark.isNullOrEmpty()
|
||||
}
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowIconDark)?.let {
|
||||
it.isEnabled = !welcomeImageDark.isNullOrEmpty()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
@@ -55,9 +81,26 @@ class WelcomeConfigFragment : PreferenceFragment(),
|
||||
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
|
||||
sharedPreferences ?: return
|
||||
when (key) {
|
||||
PreferKey.welcomeImage,
|
||||
PreferKey.welcomeImage -> {
|
||||
val welcomeImage = getPrefString(key)
|
||||
upPreferenceSummary(key, welcomeImage)
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowText)?.let {
|
||||
it.isEnabled = !welcomeImage.isNullOrEmpty()
|
||||
}
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowIcon)?.let {
|
||||
it.isEnabled = !welcomeImage.isNullOrEmpty()
|
||||
}
|
||||
}
|
||||
|
||||
PreferKey.welcomeImageDark -> {
|
||||
upPreferenceSummary(key, getPrefString(key))
|
||||
val welcomeImageDark = getPrefString(key)
|
||||
upPreferenceSummary(key, welcomeImageDark)
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowTextDark)?.let {
|
||||
it.isEnabled = !welcomeImageDark.isNullOrEmpty()
|
||||
}
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowIconDark)?.let {
|
||||
it.isEnabled = !welcomeImageDark.isNullOrEmpty()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -77,12 +120,21 @@ class WelcomeConfigFragment : PreferenceFragment(),
|
||||
) { _, i ->
|
||||
if (i == 0) {
|
||||
removePref(preference.key)
|
||||
AppConfig.welcomeShowText = true
|
||||
AppConfig.welcomeShowIcon = true
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowText)?.let {
|
||||
it.isChecked = true
|
||||
}
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowIcon)?.let {
|
||||
it.isChecked = true
|
||||
}
|
||||
BookCover.upDefaultCover()
|
||||
} else {
|
||||
selectImage.launch(requestWelcomeImage)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PreferKey.welcomeImageDark ->
|
||||
if (getPrefString(preference.key).isNullOrEmpty()) {
|
||||
selectImage.launch(requestWelcomeImageDark)
|
||||
@@ -95,6 +147,14 @@ class WelcomeConfigFragment : PreferenceFragment(),
|
||||
) { _, i ->
|
||||
if (i == 0) {
|
||||
removePref(preference.key)
|
||||
AppConfig.welcomeShowTextDark = true
|
||||
AppConfig.welcomeShowIconDark = true
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowTextDark)?.let {
|
||||
it.isChecked = true
|
||||
}
|
||||
findPreference<SwitchPreference>(PreferKey.welcomeShowIconDark)?.let {
|
||||
it.isChecked = true
|
||||
}
|
||||
BookCover.upDefaultCover()
|
||||
} else {
|
||||
selectImage.launch(requestWelcomeImageDark)
|
||||
@@ -114,6 +174,7 @@ class WelcomeConfigFragment : PreferenceFragment(),
|
||||
} else {
|
||||
value
|
||||
}
|
||||
|
||||
else -> preference.summary = value
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,14 +7,23 @@ import androidx.core.view.postDelayed
|
||||
import io.legado.app.base.BaseActivity
|
||||
import io.legado.app.constant.PreferKey
|
||||
import io.legado.app.constant.Theme
|
||||
import io.legado.app.data.appDb
|
||||
import io.legado.app.databinding.ActivityWelcomeBinding
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.help.config.ThemeConfig
|
||||
import io.legado.app.lib.theme.accentColor
|
||||
import io.legado.app.lib.theme.backgroundColor
|
||||
import io.legado.app.ui.book.read.ReadBookActivity
|
||||
import io.legado.app.ui.main.MainActivity
|
||||
import io.legado.app.utils.*
|
||||
import io.legado.app.utils.BitmapUtils
|
||||
import io.legado.app.utils.fullScreen
|
||||
import io.legado.app.utils.getPrefBoolean
|
||||
import io.legado.app.utils.getPrefString
|
||||
import io.legado.app.utils.setStatusBarColorAuto
|
||||
import io.legado.app.utils.startActivity
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import io.legado.app.utils.visible
|
||||
import io.legado.app.utils.windowSize
|
||||
|
||||
open class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
|
||||
|
||||
@@ -44,19 +53,20 @@ open class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
|
||||
Theme.Dark -> getPrefString(PreferKey.welcomeImageDark)?.let { path ->
|
||||
val size = windowManager.windowSize
|
||||
BitmapUtils.decodeBitmap(path, size.widthPixels, size.heightPixels).let {
|
||||
binding.tvLegado.visible(getPrefBoolean(PreferKey.welcomeShowTextDark))
|
||||
binding.ivBook.visible(getPrefBoolean(PreferKey.welcomeShowIconDark))
|
||||
binding.tvGzh.visible(getPrefBoolean(PreferKey.welcomeShowTextDark))
|
||||
binding.tvLegado.visible(AppConfig.welcomeShowTextDark)
|
||||
binding.ivBook.visible(AppConfig.welcomeShowIconDark)
|
||||
binding.tvGzh.visible(AppConfig.welcomeShowTextDark)
|
||||
window.decorView.background = BitmapDrawable(resources, it)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
else -> getPrefString(PreferKey.welcomeImage)?.let { path ->
|
||||
val size = windowManager.windowSize
|
||||
BitmapUtils.decodeBitmap(path, size.widthPixels, size.heightPixels).let {
|
||||
binding.tvLegado.visible(getPrefBoolean(PreferKey.welcomeShowText))
|
||||
binding.ivBook.visible(getPrefBoolean(PreferKey.welcomeShowIcon))
|
||||
binding.tvGzh.visible(getPrefBoolean(PreferKey.welcomeShowText))
|
||||
binding.tvLegado.visible(AppConfig.welcomeShowText)
|
||||
binding.ivBook.visible(AppConfig.welcomeShowIcon)
|
||||
binding.tvGzh.visible(AppConfig.welcomeShowText)
|
||||
window.decorView.background = BitmapDrawable(resources, it)
|
||||
return
|
||||
}
|
||||
@@ -69,7 +79,7 @@ open class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
|
||||
|
||||
private fun startMainActivity() {
|
||||
startActivity<MainActivity>()
|
||||
if (getPrefBoolean(PreferKey.defaultToRead)) {
|
||||
if (getPrefBoolean(PreferKey.defaultToRead) && appDb.bookDao.lastReadBook != null) {
|
||||
startActivity<ReadBookActivity>()
|
||||
}
|
||||
finish()
|
||||
|
||||
Reference in New Issue
Block a user