From 15100aaa9c23a66b28719f30b4c1b8308f771545 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sun, 1 Jun 2025 12:44:16 -0700 Subject: [PATCH] Generalize and fix context --- lib/l10n/app_en.arb | 2 +- lib/settings_screen.dart | 15 +++++---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index ddb3c1c..3c755fa 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -8,9 +8,9 @@ "locationButton": "Send location", "statusButton": "Show status", "settingsButton": "Change settings", + "invalidValue": "Invalid value", "idLabel": "Device identifier", "urlLabel": "Server URL", - "invalidUrlError": "Invalid URL", "accuracyLabel": "Location accuracy", "highAccuracyLabel": "High", "mediumAccuracyLabel": "Medium", diff --git a/lib/settings_screen.dart b/lib/settings_screen.dart index 5d271f8..af1c184 100644 --- a/lib/settings_screen.dart +++ b/lib/settings_screen.dart @@ -43,6 +43,8 @@ class _SettingsScreenState extends State { : Preferences.instance.getString(key) ?? ''; final controller = TextEditingController(text: initialValue); + final scaffoldManager = ScaffoldMessenger.of(context); + final errorMessage = AppLocalizations.of(context)!.invalidValue; final result = await showDialog( context: context, @@ -67,17 +69,10 @@ class _SettingsScreenState extends State { ); if (result != null && result.isNotEmpty) { - if (!isInt && key == Preferences.url) { + if (key == Preferences.url) { final uri = Uri.tryParse(result); - if (uri == null || - uri.host.isEmpty || - !(uri.scheme == 'http' || uri.scheme == 'https')) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: - Text(AppLocalizations.of(context)!.invalidUrlError), - ), - ); + if (uri == null || uri.host.isEmpty || !(uri.scheme == 'http' || uri.scheme == 'https')) { + scaffoldManager.showSnackBar(SnackBar(content: Text(errorMessage))); return; } }