Add experimental option to tweak swipe sensitivity

This commit is contained in:
FooIbar committed 2023-11-05 10:57:20 +08:00
1 parent 022f7a3ef1
commit 747fd23b96
6 files changed
+17 -2

No files matched your search

@@ -88,6 +88,9 @@ object Settings : DataStorePreferences(null) {
var lastDawnDay by longPref("last_dawn_day", 0)
var lastUpdateDay by longPref("last_update_day", 0)
// TODO: Remove this after swipe gestures are correctly handled in compose
var touchSlopFactor by intPref("touch_slop", 3)
init {
if ("CN" == Locale.getDefault().country) {
edit {
@@ -244,7 +244,7 @@ class MainActivity : EhActivity() {
BackHandler(drawerState.isOpen) {
closeDrawer()
}
LocalTouchSlopProvider(3f) {
LocalTouchSlopProvider(Settings.touchSlopFactor.toFloat()) {
ModalNavigationDrawer(
drawerContent = {
ModalDrawerSheet(
@@ -62,6 +62,7 @@ import androidx.paging.compose.itemContentType
import androidx.paging.compose.itemKey
import com.hippo.ehviewer.EhDB
import com.hippo.ehviewer.R
import com.hippo.ehviewer.Settings
import com.hippo.ehviewer.Settings.listThumbSize
import com.hippo.ehviewer.icons.EhIcons
import com.hippo.ehviewer.icons.big.History
@@ -143,7 +144,7 @@ fun HistoryScreen(navigator: NavController) {
true
},
)
LocalTouchSlopProvider(3f) {
LocalTouchSlopProvider(Settings.touchSlopFactor.toFloat()) {
SwipeToDismiss(
state = dismissState,
background = {},
@@ -139,6 +139,13 @@ fun AdvancedScreen(navigator: DestinationsNavigator) {
title = stringResource(id = R.string.preload_thumb_aggressively),
value = Settings::preloadThumbAggressively,
)
IntSliderPreference(
maxValue = 5,
minValue = 1,
title = stringResource(id = R.string.settings_advanced_touch_slop),
summary = stringResource(id = R.string.settings_advanced_touch_slop_summary),
value = Settings::touchSlopFactor,
)
var userAgent by Settings::userAgent.observed
val userAgentTitle = stringResource(id = R.string.user_agent)
Preference(
@@ -381,6 +381,8 @@
<string name="settings_advanced_app_language_title">App 界面语言</string>
<string name="settings_advanced_cronet_integration">[实验性] Cronet 集成</string>
<string name="settings_advanced_cronet_integration_summary">使用 Cronet 下载图片(性能更好)</string>
<string name="settings_advanced_touch_slop">[实验性] 触摸溢出系数</string>
<string name="settings_advanced_touch_slop_summary">增大此项将降低滑动手势敏感度</string>
<string name="settings_advanced_export_data">导出数据</string>
<string name="settings_advanced_export_data_summary">保存数据至外置存储器,例如下载列表,快速搜索列表</string>
<string name="settings_advanced_export_data_to">已导出数据至 %s</string>
+2
View File
@@ -425,6 +425,8 @@
<string name="settings_advanced_app_language_title">App language</string>
<string name="settings_advanced_cronet_integration">[Experimental] Cronet integration</string>
<string name="settings_advanced_cronet_integration_summary">Use Cronet for image download (better performance)</string>
<string name="settings_advanced_touch_slop">[Experimental] Touch slop factor</string>
<string name="settings_advanced_touch_slop_summary">Increasing this will reduce swipe gesture sensitivity</string>
<string name="settings_advanced_export_data">Export data</string>
<string name="settings_advanced_export_data_summary">Save data like download list, quick search list, to external storage</string>
<string name="settings_advanced_export_data_to">Exported data to %s</string>