Update advanced settings

This commit is contained in:
Anton Tananaev 2025-06-13 10:02:53 -07:00
parent 3a5b90e3b9
commit e243aacde7
2 changed files with 16 additions and 21 deletions

View file

@ -21,8 +21,8 @@
"preventSuspendLabel": "Prevent suspend",
"disableElasticityLabel": "Disable elasticity",
"stopDetectionLabel": "Stop detection",
"advancedLabel": "Show advanced settings",
"trackingLabel": "Continuous tracking",
"advancedLabel": "Advanced settings",
"startAction": "Start service",
"stopAction": "Stop service",
"sosAction": "Send SOS"

View file

@ -133,20 +133,7 @@ class _SettingsScreenState extends State<SettingsScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(AppLocalizations.of(context)!.settingsTitle),
actions: [
Row(
children: [
Text(AppLocalizations.of(context)!.advancedLabel),
Switch(
value: advanced,
onChanged: (value) => setState(() => advanced = value),
),
],
),
],
),
appBar: AppBar(title: Text(AppLocalizations.of(context)!.settingsTitle)),
body: ListView(
children: [
_buildListTile(AppLocalizations.of(context)!.idLabel, Preferences.id, false),
@ -157,14 +144,22 @@ class _SettingsScreenState extends State<SettingsScreen> {
_buildListTile(AppLocalizations.of(context)!.intervalLabel, Preferences.interval, true),
_buildListTile(AppLocalizations.of(context)!.heartbeatLabel, Preferences.heartbeat, true),
SwitchListTile(
title: Text(AppLocalizations.of(context)!.bufferLabel),
value: buffering,
onChanged: (value) async {
await Preferences.instance.setBool(Preferences.buffer, value);
await bg.BackgroundGeolocation.setConfig(Preferences.geolocationConfig());
setState(() => buffering = value);
title: Text(AppLocalizations.of(context)!.advancedLabel),
value: advanced,
onChanged: (value) {
setState(() => advanced = value);
},
),
if (advanced)
SwitchListTile(
title: Text(AppLocalizations.of(context)!.bufferLabel),
value: buffering,
onChanged: (value) async {
await Preferences.instance.setBool(Preferences.buffer, value);
await bg.BackgroundGeolocation.setConfig(Preferences.geolocationConfig());
setState(() => buffering = value);
},
),
if (advanced)
SwitchListTile(
title: Text(AppLocalizations.of(context)!.disableElasticityLabel),