@@ -82,13 +82,15 @@ fun settingsList(
82
82
val primaryPreferences = PrimaryPreferences (view.context)
83
83
var heightDp by rememberSaveable { mutableIntStateOf(0 ) }
84
84
val list = listOf (
85
+ // History
86
+ allowedNumberOfHistory(primaryPreferences, view),
87
+ clearHistoryWhenLeaved(primaryPreferences, view),
88
+ disableUndoButton(primaryPreferences, view),
85
89
// Notification
86
90
disableRemoveNotifyInReminded(primaryPreferences, view),
87
91
disableNoScheduleExactAlarmNotice(primaryPreferences, view),
88
92
recentlyRemindedKeepTime(primaryPreferences, view),
89
93
removeNoticeInAutoDelReminded(primaryPreferences, view),
90
- // History
91
- allowedNumberOfHistory(primaryPreferences, view),
92
94
// General
93
95
pictureCompressionRate(primaryPreferences, view),
94
96
videoCompressionRate(primaryPreferences, view),
@@ -361,10 +363,10 @@ private fun removeNoticeInAutoDelReminded(
361
363
}
362
364
363
365
@Composable
364
- private fun allowedNumberOfHistory (references : PrimaryPreferences , view : View ): SettingsItem {
366
+ private fun allowedNumberOfHistory (preferences : PrimaryPreferences , view : View ): SettingsItem {
365
367
val content: @Composable (String ) -> Unit = {
366
368
var sliderPosition by remember {
367
- mutableFloatStateOf(references .allowedNumberOfHistory().toFloat())
369
+ mutableFloatStateOf(preferences .allowedNumberOfHistory().toFloat())
368
370
}
369
371
var old by remember { mutableFloatStateOf(sliderPosition) }
370
372
if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .Q && old != sliderPosition) {
@@ -385,7 +387,7 @@ private fun allowedNumberOfHistory(references: PrimaryPreferences, view: View):
385
387
)
386
388
Slider (
387
389
value = sliderPosition, onValueChange = {
388
- sliderPosition = references .allowedNumberOfHistory(
390
+ sliderPosition = preferences .allowedNumberOfHistory(
389
391
it.toInt()
390
392
).toFloat()
391
393
}, colors = SliderDefaults .colors(
@@ -406,6 +408,44 @@ private fun allowedNumberOfHistory(references: PrimaryPreferences, view: View):
406
408
}
407
409
}
408
410
411
+ @Composable
412
+ private fun clearHistoryWhenLeaved (preferences : PrimaryPreferences , view : View ): SettingsItem {
413
+ return SettingsItem (
414
+ SettingsType .History , 64 , stringResource(R .string.clear_history_when_leaved)
415
+ ) {
416
+ Row (Modifier .padding(8 .dp), verticalAlignment = Alignment .CenterVertically ) {
417
+ var setting by remember { mutableStateOf(preferences.clearHistoryWhenLeaved()) }
418
+ OptionText (it, 48 )
419
+ Spacer (modifier = Modifier .weight(1f ))
420
+ Switch (
421
+ checked = setting, onCheckedChange = {
422
+ setting = preferences.clearHistoryWhenLeaved(it)
423
+ view.playSoundEffect(SoundEffectConstants .CLICK )
424
+ }
425
+ )
426
+ }
427
+ }
428
+ }
429
+
430
+ @Composable
431
+ private fun disableUndoButton (preferences : PrimaryPreferences , view : View ): SettingsItem {
432
+ return SettingsItem (
433
+ SettingsType .History , 64 , stringResource(R .string.disable_undo_button)
434
+ ) {
435
+ Row (Modifier .padding(8 .dp), verticalAlignment = Alignment .CenterVertically ) {
436
+ var setting by remember { mutableStateOf(preferences.disableUndoButton()) }
437
+ OptionText (it, 48 )
438
+ Spacer (modifier = Modifier .weight(1f ))
439
+ Switch (
440
+ checked = setting, onCheckedChange = {
441
+ setting = preferences.disableUndoButton(it)
442
+ view.playSoundEffect(SoundEffectConstants .CLICK )
443
+ }
444
+ )
445
+ }
446
+ }
447
+ }
448
+
409
449
private data class CompressionItem (val name : String , val value : Int )
410
450
411
451
@Composable
0 commit comments