diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 8f2c7a7..fb4547c 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -4,6 +4,7 @@ "settingsTitle": "Settings", "saveButton": "Save", "cancelButton": "Cancel", + "locationButton": "Send location", "statusButton": "Show status", "settingsButton": "Change settings", "idLabel": "Device identifier", diff --git a/lib/main_screen.dart b/lib/main_screen.dart index cee1831..bc6c5fd 100644 --- a/lib/main_screen.dart +++ b/lib/main_screen.dart @@ -1,3 +1,5 @@ +import 'dart:developer' as developer; + import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -72,11 +74,27 @@ class _MainScreenState extends State { }, ), const SizedBox(height: 8), - FilledButton.tonal( - onPressed: () { - Navigator.push(context, MaterialPageRoute(builder: (_) => const StatusScreen())); - }, - child: Text(AppLocalizations.of(context)!.statusButton), + OverflowBar( + spacing: 8, + children: [ + FilledButton.tonal( + onPressed: () async { + try { + await bg.BackgroundGeolocation.getCurrentPosition(samples: 1); + await bg.BackgroundGeolocation.sync(); + } catch (error) { + developer.log('Failed to fetch location', error: error); + } + }, + child: Text(AppLocalizations.of(context)!.locationButton), + ), + FilledButton.tonal( + onPressed: () { + Navigator.push(context, MaterialPageRoute(builder: (_) => const StatusScreen())); + }, + child: Text(AppLocalizations.of(context)!.statusButton), + ), + ], ), ], ), @@ -103,11 +121,16 @@ class _MainScreenState extends State { leadingAndTrailingTextStyle: Theme.of(context).textTheme.bodyLarge, ), const SizedBox(height: 8), - FilledButton.tonal( - onPressed: () { - Navigator.push(context, MaterialPageRoute(builder: (_) => const SettingsScreen())); - }, - child: Text(AppLocalizations.of(context)!.settingsButton), + OverflowBar( + spacing: 8, + children: [ + FilledButton.tonal( + onPressed: () { + Navigator.push(context, MaterialPageRoute(builder: (_) => const SettingsScreen())); + }, + child: Text(AppLocalizations.of(context)!.settingsButton), + ), + ], ), ] ),