mirror of
https://github.com/gedoor/legado.git
synced 2024-07-06 23:47:49 +08:00
优化
This commit is contained in:
parent
456188a8c8
commit
ab0a4b78d7
@ -1,6 +1,5 @@
|
||||
package io.legado.app.help.config
|
||||
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import android.os.Build
|
||||
import io.legado.app.BuildConfig
|
||||
@ -36,10 +35,14 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
var clickActionBL = appCtx.getPrefInt(PreferKey.clickActionBL, 2)
|
||||
var clickActionBC = appCtx.getPrefInt(PreferKey.clickActionBC, 1)
|
||||
var clickActionBR = appCtx.getPrefInt(PreferKey.clickActionBR, 1)
|
||||
var themeMode = appCtx.getPrefString(PreferKey.themeMode, "0")
|
||||
|
||||
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
|
||||
when (key) {
|
||||
PreferKey.themeMode -> isEInkMode = appCtx.getPrefString(PreferKey.themeMode) == "3"
|
||||
PreferKey.themeMode -> {
|
||||
themeMode = appCtx.getPrefString(PreferKey.themeMode, "0")
|
||||
isEInkMode = themeMode == "3"
|
||||
}
|
||||
PreferKey.clickActionTL -> clickActionTL =
|
||||
appCtx.getPrefInt(PreferKey.clickActionTL, 2)
|
||||
|
||||
@ -80,17 +83,13 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
}
|
||||
}
|
||||
|
||||
fun isNightTheme(context: Context): Boolean {
|
||||
return when (context.getPrefString(PreferKey.themeMode, "0")) {
|
||||
var isNightTheme: Boolean
|
||||
get() = when (themeMode) {
|
||||
"1" -> false
|
||||
"2" -> true
|
||||
"3" -> false
|
||||
else -> sysConfiguration.isNightMode
|
||||
}
|
||||
}
|
||||
|
||||
var isNightTheme: Boolean
|
||||
get() = isNightTheme(appCtx)
|
||||
set(value) {
|
||||
if (isNightTheme != value) {
|
||||
if (value) {
|
||||
|
@ -10,6 +10,7 @@ import io.legado.app.utils.putString
|
||||
import io.legado.app.utils.remove
|
||||
import splitties.init.appCtx
|
||||
|
||||
@Suppress("ConstPropertyName")
|
||||
object LocalConfig : SharedPreferences
|
||||
by appCtx.getSharedPreferences("local", Context.MODE_PRIVATE) {
|
||||
|
||||
|
@ -39,6 +39,7 @@ import java.io.File
|
||||
/**
|
||||
* 阅读界面配置
|
||||
*/
|
||||
@Suppress("ConstPropertyName")
|
||||
@Keep
|
||||
object ReadBookConfig {
|
||||
const val configFileName = "readConfig.json"
|
||||
|
@ -6,7 +6,13 @@ import android.content.Intent
|
||||
import android.content.res.Configuration
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.view.*
|
||||
import android.view.Gravity
|
||||
import android.view.InputDevice
|
||||
import android.view.KeyEvent
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import androidx.activity.addCallback
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.appcompat.widget.PopupMenu
|
||||
@ -17,7 +23,12 @@ import androidx.lifecycle.lifecycleScope
|
||||
import com.jaredrummler.android.colorpicker.ColorPickerDialogListener
|
||||
import io.legado.app.BuildConfig
|
||||
import io.legado.app.R
|
||||
import io.legado.app.constant.*
|
||||
import io.legado.app.constant.AppConst
|
||||
import io.legado.app.constant.AppLog
|
||||
import io.legado.app.constant.BookType
|
||||
import io.legado.app.constant.EventBus
|
||||
import io.legado.app.constant.PreferKey
|
||||
import io.legado.app.constant.Status
|
||||
import io.legado.app.data.appDb
|
||||
import io.legado.app.data.entities.Book
|
||||
import io.legado.app.data.entities.BookChapter
|
||||
@ -27,7 +38,13 @@ import io.legado.app.exception.NoStackTraceException
|
||||
import io.legado.app.help.AppWebDav
|
||||
import io.legado.app.help.IntentData
|
||||
import io.legado.app.help.TTS
|
||||
import io.legado.app.help.book.*
|
||||
import io.legado.app.help.book.BookHelp
|
||||
import io.legado.app.help.book.ContentProcessor
|
||||
import io.legado.app.help.book.isAudio
|
||||
import io.legado.app.help.book.isEpub
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.book.isLocalTxt
|
||||
import io.legado.app.help.book.removeType
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.help.config.ReadBookConfig
|
||||
import io.legado.app.help.config.ReadTipConfig
|
||||
@ -74,9 +91,36 @@ import io.legado.app.ui.replace.edit.ReplaceEditActivity
|
||||
import io.legado.app.ui.widget.PopupAction
|
||||
import io.legado.app.ui.widget.dialog.PhotoDialog
|
||||
import io.legado.app.ui.widget.dialog.TextDialog
|
||||
import io.legado.app.utils.*
|
||||
import kotlinx.coroutines.*
|
||||
import io.legado.app.utils.ACache
|
||||
import io.legado.app.utils.LogUtils
|
||||
import io.legado.app.utils.StartActivityContract
|
||||
import io.legado.app.utils.SyncedRenderer
|
||||
import io.legado.app.utils.applyOpenTint
|
||||
import io.legado.app.utils.getPrefBoolean
|
||||
import io.legado.app.utils.getPrefString
|
||||
import io.legado.app.utils.hexString
|
||||
import io.legado.app.utils.iconItemOnLongClick
|
||||
import io.legado.app.utils.invisible
|
||||
import io.legado.app.utils.isAbsUrl
|
||||
import io.legado.app.utils.isTrue
|
||||
import io.legado.app.utils.launch
|
||||
import io.legado.app.utils.navigationBarGravity
|
||||
import io.legado.app.utils.navigationBarHeight
|
||||
import io.legado.app.utils.observeEvent
|
||||
import io.legado.app.utils.observeEventSticky
|
||||
import io.legado.app.utils.postEvent
|
||||
import io.legado.app.utils.showDialogFragment
|
||||
import io.legado.app.utils.startActivity
|
||||
import io.legado.app.utils.sysScreenOffTime
|
||||
import io.legado.app.utils.toastOnUi
|
||||
import io.legado.app.utils.visible
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.Runnable
|
||||
import kotlinx.coroutines.cancelChildren
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
/**
|
||||
* 阅读界面
|
||||
@ -838,7 +882,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
||||
return false
|
||||
}
|
||||
if (!AppConfig.volumeKeyPageOnLongPress && longPress) {
|
||||
return false
|
||||
return true
|
||||
}
|
||||
binding.readView.cancelSelect()
|
||||
binding.readView.pageDelegate?.isCancel = false
|
||||
|
@ -6,8 +6,19 @@ import android.content.res.Configuration
|
||||
import android.net.Uri
|
||||
import android.net.http.SslError
|
||||
import android.os.Bundle
|
||||
import android.view.*
|
||||
import android.webkit.*
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.WindowManager
|
||||
import android.webkit.JavascriptInterface
|
||||
import android.webkit.SslErrorHandler
|
||||
import android.webkit.URLUtil
|
||||
import android.webkit.WebChromeClient
|
||||
import android.webkit.WebResourceRequest
|
||||
import android.webkit.WebResourceResponse
|
||||
import android.webkit.WebSettings
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import androidx.activity.addCallback
|
||||
import androidx.activity.viewModels
|
||||
import androidx.core.view.size
|
||||
@ -29,8 +40,23 @@ import io.legado.app.model.Download
|
||||
import io.legado.app.ui.association.OnLineImportActivity
|
||||
import io.legado.app.ui.file.HandleFileContract
|
||||
import io.legado.app.ui.login.SourceLoginActivity
|
||||
import io.legado.app.utils.*
|
||||
import io.legado.app.utils.ACache
|
||||
import io.legado.app.utils.NetworkUtils
|
||||
import io.legado.app.utils.get
|
||||
import io.legado.app.utils.gone
|
||||
import io.legado.app.utils.invisible
|
||||
import io.legado.app.utils.isTrue
|
||||
import io.legado.app.utils.longSnackbar
|
||||
import io.legado.app.utils.openUrl
|
||||
import io.legado.app.utils.setDarkeningAllowed
|
||||
import io.legado.app.utils.setTintMutate
|
||||
import io.legado.app.utils.share
|
||||
import io.legado.app.utils.splitNotBlank
|
||||
import io.legado.app.utils.startActivity
|
||||
import io.legado.app.utils.textArray
|
||||
import io.legado.app.utils.toastOnUi
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import io.legado.app.utils.visible
|
||||
import kotlinx.coroutines.launch
|
||||
import org.apache.commons.text.StringEscapeUtils
|
||||
import org.jsoup.Jsoup
|
||||
@ -146,7 +172,7 @@ class ReadRssActivity : VMBaseActivity<ActivityRssReadBinding, ReadRssViewModel>
|
||||
|
||||
@JavascriptInterface
|
||||
fun isNightTheme(): Boolean {
|
||||
return AppConfig.isNightTheme(this)
|
||||
return AppConfig.isNightTheme
|
||||
}
|
||||
|
||||
@SuppressLint("SetJavaScriptEnabled")
|
||||
|
@ -11,9 +11,16 @@ import android.os.Build
|
||||
import android.text.Html
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.View.*
|
||||
import android.view.View.GONE
|
||||
import android.view.View.IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
|
||||
import android.view.View.INVISIBLE
|
||||
import android.view.View.VISIBLE
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import android.widget.*
|
||||
import android.widget.EdgeEffect
|
||||
import android.widget.EditText
|
||||
import android.widget.RadioGroup
|
||||
import android.widget.SeekBar
|
||||
import android.widget.TextView
|
||||
import androidx.annotation.ColorInt
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.view.menu.MenuPopupHelper
|
||||
@ -24,7 +31,6 @@ import androidx.viewpager.widget.ViewPager
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.lib.theme.TintHelper
|
||||
import splitties.systemservices.inputMethodManager
|
||||
|
||||
import java.lang.reflect.Field
|
||||
|
||||
|
||||
@ -57,7 +63,7 @@ fun View.disableAutoFill() = run {
|
||||
|
||||
fun View.applyTint(
|
||||
@ColorInt color: Int,
|
||||
isDark: Boolean = AppConfig.isNightTheme(context)
|
||||
isDark: Boolean = AppConfig.isNightTheme
|
||||
) {
|
||||
TintHelper.setTintAuto(this, color, false, isDark)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user