优化
This commit is contained in:
@@ -1196,6 +1196,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|||||||
}
|
}
|
||||||
observeEvent<Boolean>(EventBus.UP_CONFIG) {
|
observeEvent<Boolean>(EventBus.UP_CONFIG) {
|
||||||
upSystemUiVisibility()
|
upSystemUiVisibility()
|
||||||
|
readView.upPageSlopSquare()
|
||||||
readView.upBg()
|
readView.upBg()
|
||||||
readView.upStyle()
|
readView.upStyle()
|
||||||
readView.upBgAlpha()
|
readView.upBgAlpha()
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import androidx.preference.Preference
|
|||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.constant.EventBus
|
import io.legado.app.constant.EventBus
|
||||||
import io.legado.app.constant.PreferKey
|
import io.legado.app.constant.PreferKey
|
||||||
|
import io.legado.app.help.config.AppConfig
|
||||||
import io.legado.app.help.config.ReadBookConfig
|
import io.legado.app.help.config.ReadBookConfig
|
||||||
import io.legado.app.lib.prefs.fragment.PreferenceFragment
|
import io.legado.app.lib.prefs.fragment.PreferenceFragment
|
||||||
import io.legado.app.lib.theme.bottomBackground
|
import io.legado.app.lib.theme.bottomBackground
|
||||||
@@ -18,6 +19,7 @@ import io.legado.app.lib.theme.primaryColor
|
|||||||
import io.legado.app.model.ReadBook
|
import io.legado.app.model.ReadBook
|
||||||
import io.legado.app.ui.book.read.ReadBookActivity
|
import io.legado.app.ui.book.read.ReadBookActivity
|
||||||
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.widget.number.NumberPickerDialog
|
||||||
import io.legado.app.utils.dpToPx
|
import io.legado.app.utils.dpToPx
|
||||||
import io.legado.app.utils.getPrefBoolean
|
import io.legado.app.utils.getPrefBoolean
|
||||||
import io.legado.app.utils.postEvent
|
import io.legado.app.utils.postEvent
|
||||||
@@ -70,9 +72,12 @@ class MoreConfigDialog : DialogFragment() {
|
|||||||
class ReadPreferenceFragment : PreferenceFragment(),
|
class ReadPreferenceFragment : PreferenceFragment(),
|
||||||
SharedPreferences.OnSharedPreferenceChangeListener {
|
SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
|
|
||||||
|
private val slopSquare by lazy { ViewConfiguration.get(context).scaledTouchSlop }
|
||||||
|
|
||||||
@SuppressLint("RestrictedApi")
|
@SuppressLint("RestrictedApi")
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
addPreferencesFromResource(R.xml.pref_config_read)
|
addPreferencesFromResource(R.xml.pref_config_read)
|
||||||
|
upPreferenceSummary(PreferKey.pageTouchSlop, slopSquare.toString())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
@@ -137,9 +142,29 @@ class MoreConfigDialog : DialogFragment() {
|
|||||||
"clickRegionalConfig" -> {
|
"clickRegionalConfig" -> {
|
||||||
(activity as? ReadBookActivity)?.showClickRegionalConfig()
|
(activity as? ReadBookActivity)?.showClickRegionalConfig()
|
||||||
}
|
}
|
||||||
|
PreferKey.pageTouchSlop -> {
|
||||||
|
NumberPickerDialog(requireContext())
|
||||||
|
.setTitle(getString(R.string.page_touch_slop_dialog_title))
|
||||||
|
.setMaxValue(9999)
|
||||||
|
.setMinValue(0)
|
||||||
|
.setValue(AppConfig.pageTouchSlop)
|
||||||
|
.show {
|
||||||
|
AppConfig.pageTouchSlop = it
|
||||||
|
postEvent(EventBus.UP_CONFIG, false)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return super.onPreferenceTreeClick(preference)
|
return super.onPreferenceTreeClick(preference)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("SameParameterValue")
|
||||||
|
private fun upPreferenceSummary(preferenceKey: String, value: String?) {
|
||||||
|
val preference = findPreference<Preference>(preferenceKey) ?: return
|
||||||
|
when (preferenceKey) {
|
||||||
|
PreferKey.pageTouchSlop -> preference.summary =
|
||||||
|
getString(R.string.page_touch_slop_summary, value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -82,13 +82,7 @@ class ReadView(context: Context, attrs: AttributeSet) :
|
|||||||
private val initialTextPos = TextPos(0, 0, 0)
|
private val initialTextPos = TextPos(0, 0, 0)
|
||||||
|
|
||||||
val slopSquare by lazy { ViewConfiguration.get(context).scaledTouchSlop }
|
val slopSquare by lazy { ViewConfiguration.get(context).scaledTouchSlop }
|
||||||
val pageSlopSquare by lazy {
|
private var pageSlopSquare: Int = slopSquare
|
||||||
if (AppConfig.pageTouchSlop == 0) {
|
|
||||||
slopSquare
|
|
||||||
} else {
|
|
||||||
AppConfig.pageTouchSlop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private val tlRect = RectF()
|
private val tlRect = RectF()
|
||||||
private val tcRect = RectF()
|
private val tcRect = RectF()
|
||||||
private val trRect = RectF()
|
private val trRect = RectF()
|
||||||
@@ -112,6 +106,7 @@ class ReadView(context: Context, attrs: AttributeSet) :
|
|||||||
upBg()
|
upBg()
|
||||||
setWillNotDraw(false)
|
setWillNotDraw(false)
|
||||||
upPageAnim()
|
upPageAnim()
|
||||||
|
upPageSlopSquare()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -511,6 +506,11 @@ class ReadView(context: Context, attrs: AttributeSet) :
|
|||||||
callBack.screenOffTimerStart()
|
callBack.screenOffTimerStart()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun upPageSlopSquare() {
|
||||||
|
val pageTouchSlop = AppConfig.pageTouchSlop
|
||||||
|
this.pageSlopSquare = if (pageTouchSlop == 0) slopSquare else pageTouchSlop
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新样式
|
* 更新样式
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import android.content.SharedPreferences
|
|||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewConfiguration
|
|
||||||
import androidx.core.view.postDelayed
|
import androidx.core.view.postDelayed
|
||||||
import androidx.fragment.app.activityViewModels
|
import androidx.fragment.app.activityViewModels
|
||||||
import androidx.preference.ListPreference
|
import androidx.preference.ListPreference
|
||||||
@@ -28,7 +27,9 @@ import io.legado.app.ui.widget.number.NumberPickerDialog
|
|||||||
import io.legado.app.utils.*
|
import io.legado.app.utils.*
|
||||||
import splitties.init.appCtx
|
import splitties.init.appCtx
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 其它设置
|
||||||
|
*/
|
||||||
class OtherConfigFragment : PreferenceFragment(),
|
class OtherConfigFragment : PreferenceFragment(),
|
||||||
SharedPreferences.OnSharedPreferenceChangeListener {
|
SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
|
|
||||||
@@ -43,7 +44,6 @@ class OtherConfigFragment : PreferenceFragment(),
|
|||||||
AppConfig.defaultBookTreeUri = treeUri.toString()
|
AppConfig.defaultBookTreeUri = treeUri.toString()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private val slopSquare by lazy { ViewConfiguration.get(context).scaledTouchSlop }
|
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
putPrefBoolean(PreferKey.processText, isProcessTextEnabled())
|
putPrefBoolean(PreferKey.processText, isProcessTextEnabled())
|
||||||
@@ -60,7 +60,6 @@ class OtherConfigFragment : PreferenceFragment(),
|
|||||||
}
|
}
|
||||||
upPreferenceSummary(PreferKey.checkSource, CheckSource.summary)
|
upPreferenceSummary(PreferKey.checkSource, CheckSource.summary)
|
||||||
upPreferenceSummary(PreferKey.bitmapCacheSize, AppConfig.bitmapCacheSize.toString())
|
upPreferenceSummary(PreferKey.bitmapCacheSize, AppConfig.bitmapCacheSize.toString())
|
||||||
upPreferenceSummary(PreferKey.pageTouchSlop, slopSquare.toString())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
@@ -120,16 +119,7 @@ class OtherConfigFragment : PreferenceFragment(),
|
|||||||
ImageProvider.bitmapLruCache.resize(ImageProvider.cacheSize)
|
ImageProvider.bitmapLruCache.resize(ImageProvider.cacheSize)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PreferKey.pageTouchSlop -> {
|
|
||||||
NumberPickerDialog(requireContext())
|
|
||||||
.setTitle(getString(R.string.page_touch_slop_dialog_title))
|
|
||||||
.setMaxValue(9999)
|
|
||||||
.setMinValue(0)
|
|
||||||
.setValue(AppConfig.pageTouchSlop)
|
|
||||||
.show {
|
|
||||||
AppConfig.pageTouchSlop = it
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return super.onPreferenceTreeClick(preference)
|
return super.onPreferenceTreeClick(preference)
|
||||||
}
|
}
|
||||||
@@ -181,7 +171,6 @@ class OtherConfigFragment : PreferenceFragment(),
|
|||||||
PreferKey.threadCount -> preference.summary = getString(R.string.threads_num, value)
|
PreferKey.threadCount -> preference.summary = getString(R.string.threads_num, value)
|
||||||
PreferKey.webPort -> preference.summary = getString(R.string.web_port_summary, value)
|
PreferKey.webPort -> preference.summary = getString(R.string.web_port_summary, value)
|
||||||
PreferKey.bitmapCacheSize -> preference.summary = getString(R.string.bitmap_cache_size_summary, value)
|
PreferKey.bitmapCacheSize -> preference.summary = getString(R.string.bitmap_cache_size_summary, value)
|
||||||
PreferKey.pageTouchSlop -> preference.summary = getString(R.string.page_touch_slop_summary, value)
|
|
||||||
else -> if (preference is ListPreference) {
|
else -> if (preference is ListPreference) {
|
||||||
val index = preference.findIndexOfValue(value)
|
val index = preference.findIndexOfValue(value)
|
||||||
// Set the summary to reflect the new value.
|
// Set the summary to reflect the new value.
|
||||||
|
|||||||
@@ -134,12 +134,6 @@
|
|||||||
android:title="@string/threads_num_title"
|
android:title="@string/threads_num_title"
|
||||||
app:iconSpaceReserved="false" />
|
app:iconSpaceReserved="false" />
|
||||||
|
|
||||||
<io.legado.app.lib.prefs.Preference
|
|
||||||
android:key="pageTouchSlop"
|
|
||||||
android:summary="@string/page_touch_slop_summary"
|
|
||||||
android:title="@string/page_touch_slop_title"
|
|
||||||
app:iconSpaceReserved="false" />
|
|
||||||
|
|
||||||
<io.legado.app.lib.prefs.SwitchPreference
|
<io.legado.app.lib.prefs.SwitchPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:key="process_text"
|
android:key="process_text"
|
||||||
|
|||||||
@@ -92,6 +92,12 @@
|
|||||||
app:iconSpaceReserved="false"
|
app:iconSpaceReserved="false"
|
||||||
app:isBottomBackground="true" />
|
app:isBottomBackground="true" />
|
||||||
|
|
||||||
|
<io.legado.app.lib.prefs.Preference
|
||||||
|
android:key="pageTouchSlop"
|
||||||
|
android:summary="@string/page_touch_slop_summary"
|
||||||
|
android:title="@string/page_touch_slop_title"
|
||||||
|
app:iconSpaceReserved="false" />
|
||||||
|
|
||||||
<io.legado.app.lib.prefs.SwitchPreference
|
<io.legado.app.lib.prefs.SwitchPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:key="autoChangeSource"
|
android:key="autoChangeSource"
|
||||||
|
|||||||
Reference in New Issue
Block a user