@@ -42,6 +42,7 @@ import com.dessalines.thumbkey.db.DEFAULT_KEYBOARD_LAYOUT
4242import com.dessalines.thumbkey.db.DEFAULT_KEY_SIZE
4343import com.dessalines.thumbkey.db.DEFAULT_MIN_SWIPE_LENGTH
4444import com.dessalines.thumbkey.db.DEFAULT_POSITION
45+ import com.dessalines.thumbkey.db.DEFAULT_PUSHUP_SIZE
4546import com.dessalines.thumbkey.db.DEFAULT_SOUND_ON_TAP
4647import com.dessalines.thumbkey.db.DEFAULT_THEME
4748import com.dessalines.thumbkey.db.DEFAULT_THEME_COLOR
@@ -68,6 +69,9 @@ fun LookAndFeelActivity(
6869 val keySizeState = rememberFloatSettingState(
6970 (settings?.keySize ? : DEFAULT_KEY_SIZE ).toFloat()
7071 )
72+ val pushupSizeState = rememberFloatSettingState(
73+ (settings?.pushupSize ? : DEFAULT_PUSHUP_SIZE ).toFloat()
74+ )
7175 val animationSpeedState = rememberFloatSettingState(
7276 (settings?.animationSpeed ? : DEFAULT_ANIMATION_SPEED ).toFloat()
7377 )
@@ -128,6 +132,7 @@ fun LookAndFeelActivity(
128132 updateAppSettings(
129133 appSettingsViewModel,
130134 keySizeState,
135+ pushupSizeState,
131136 animationSpeedState,
132137 animationHelperSpeedState,
133138 minSwipeLengthState,
@@ -157,6 +162,7 @@ fun LookAndFeelActivity(
157162 updateAppSettings(
158163 appSettingsViewModel,
159164 keySizeState,
165+ pushupSizeState,
160166 animationSpeedState,
161167 animationHelperSpeedState,
162168 minSwipeLengthState,
@@ -186,6 +192,7 @@ fun LookAndFeelActivity(
186192 updateAppSettings(
187193 appSettingsViewModel,
188194 keySizeState,
195+ pushupSizeState,
189196 animationSpeedState,
190197 animationHelperSpeedState,
191198 minSwipeLengthState,
@@ -215,6 +222,7 @@ fun LookAndFeelActivity(
215222 updateAppSettings(
216223 appSettingsViewModel,
217224 keySizeState,
225+ pushupSizeState,
218226 animationSpeedState,
219227 animationHelperSpeedState,
220228 minSwipeLengthState,
@@ -243,6 +251,7 @@ fun LookAndFeelActivity(
243251 updateAppSettings(
244252 appSettingsViewModel,
245253 keySizeState,
254+ pushupSizeState,
246255 animationSpeedState,
247256 animationHelperSpeedState,
248257 minSwipeLengthState,
@@ -271,6 +280,7 @@ fun LookAndFeelActivity(
271280 updateAppSettings(
272281 appSettingsViewModel,
273282 keySizeState,
283+ pushupSizeState,
274284 animationSpeedState,
275285 animationHelperSpeedState,
276286 minSwipeLengthState,
@@ -299,6 +309,7 @@ fun LookAndFeelActivity(
299309 updateAppSettings(
300310 appSettingsViewModel,
301311 keySizeState,
312+ pushupSizeState,
302313 animationSpeedState,
303314 animationHelperSpeedState,
304315 minSwipeLengthState,
@@ -328,6 +339,37 @@ fun LookAndFeelActivity(
328339 updateAppSettings(
329340 appSettingsViewModel,
330341 keySizeState,
342+ pushupSizeState,
343+ animationSpeedState,
344+ animationHelperSpeedState,
345+ minSwipeLengthState,
346+ positionState,
347+ autoCapitalizeState,
348+ vibrateOnTapState,
349+ soundOnTapState,
350+ keyboardLayoutState,
351+ themeState,
352+ themeColorState
353+ )
354+ }
355+ )
356+ SettingsSlider (
357+ valueRange = 0f .. 100f ,
358+ state = pushupSizeState,
359+ icon = {
360+ Icon (
361+ imageVector = Icons .Outlined .VerticalAlignTop ,
362+ contentDescription = " TODO"
363+ )
364+ },
365+ title = {
366+ Text (text = " Bottom Offset: ${pushupSizeState.value.toInt()} " )
367+ },
368+ onValueChangeFinished = {
369+ updateAppSettings(
370+ appSettingsViewModel,
371+ keySizeState,
372+ pushupSizeState,
331373 animationSpeedState,
332374 animationHelperSpeedState,
333375 minSwipeLengthState,
@@ -357,6 +399,7 @@ fun LookAndFeelActivity(
357399 updateAppSettings(
358400 appSettingsViewModel,
359401 keySizeState,
402+ pushupSizeState,
360403 animationSpeedState,
361404 animationHelperSpeedState,
362405 minSwipeLengthState,
@@ -386,6 +429,7 @@ fun LookAndFeelActivity(
386429 updateAppSettings(
387430 appSettingsViewModel,
388431 keySizeState,
432+ pushupSizeState,
389433 animationSpeedState,
390434 animationHelperSpeedState,
391435 minSwipeLengthState,
@@ -415,6 +459,7 @@ fun LookAndFeelActivity(
415459 updateAppSettings(
416460 appSettingsViewModel,
417461 keySizeState,
462+ pushupSizeState,
418463 animationSpeedState,
419464 animationHelperSpeedState,
420465 minSwipeLengthState,
@@ -435,6 +480,7 @@ fun LookAndFeelActivity(
435480 resetAppSettingsToDefault(
436481 appSettingsViewModel,
437482 keySizeState,
483+ pushupSizeState,
438484 animationSpeedState,
439485 animationHelperSpeedState,
440486 minSwipeLengthState,
@@ -474,6 +520,7 @@ fun LookAndFeelActivity(
474520private fun updateAppSettings (
475521 appSettingsViewModel : AppSettingsViewModel ,
476522 keySizeState : SettingValueState <Float >,
523+ pushupSizeState : SettingValueState <Float >,
477524 animationSpeedState : SettingValueState <Float >,
478525 animationHelperSpeedState : SettingValueState <Float >,
479526 minSwipeLengthState : SettingValueState <Float >,
@@ -489,6 +536,7 @@ private fun updateAppSettings(
489536 AppSettings (
490537 id = 1 ,
491538 keySize = keySizeState.value.toInt(),
539+ pushupSize = pushupSizeState.value.toInt(),
492540 animationSpeed = animationSpeedState.value.toInt(),
493541 animationHelperSpeed = animationHelperSpeedState.value.toInt(),
494542 minSwipeLength = minSwipeLengthState.value.toInt(),
@@ -507,6 +555,7 @@ private fun updateAppSettings(
507555private fun resetAppSettingsToDefault (
508556 appSettingsViewModel : AppSettingsViewModel ,
509557 keySizeState : SettingValueState <Float >,
558+ pushupSizeState : SettingValueState <Float >,
510559 animationSpeedState : SettingValueState <Float >,
511560 animationHelperSpeedState : SettingValueState <Float >,
512561 minSwipeLengthState : SettingValueState <Float >,
@@ -519,6 +568,7 @@ private fun resetAppSettingsToDefault(
519568 themeColorState : SettingValueState <Int >
520569) {
521570 keySizeState.value = DEFAULT_KEY_SIZE .toFloat()
571+ pushupSizeState.value = DEFAULT_PUSHUP_SIZE .toFloat()
522572 animationSpeedState.value = DEFAULT_ANIMATION_SPEED .toFloat()
523573 animationHelperSpeedState.value = DEFAULT_ANIMATION_HELPER_SPEED .toFloat()
524574 minSwipeLengthState.value = DEFAULT_MIN_SWIPE_LENGTH .toFloat()
@@ -533,6 +583,7 @@ private fun resetAppSettingsToDefault(
533583 updateAppSettings(
534584 appSettingsViewModel,
535585 keySizeState,
586+ pushupSizeState,
536587 animationSpeedState,
537588 animationHelperSpeedState,
538589 minSwipeLengthState,
0 commit comments