Merge branch 'main' into chrome/main

This commit is contained in:
Ben Allfree
2026-02-23 15:03:20 -08:00
6 changed files with 32 additions and 14 deletions
+3 -3
View File
@@ -19,13 +19,13 @@ android {
ndkVersion = flutter.ndkVersion ndkVersion = flutter.ndkVersion
compileOptions { compileOptions {
sourceCompatibility = JavaVersion.VERSION_11 sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_17
isCoreLibraryDesugaringEnabled = true isCoreLibraryDesugaringEnabled = true
} }
kotlinOptions { kotlinOptions {
jvmTarget = JavaVersion.VERSION_11.toString() jvmTarget = JavaVersion.VERSION_17.toString()
} }
defaultConfig { defaultConfig {
+3 -3
View File
@@ -262,7 +262,7 @@
} }
}, },
"contacts_manageRepeater": "Gérer le répéteur", "contacts_manageRepeater": "Gérer le répéteur",
"contacts_roomLogin": "Connexion Salle", "contacts_roomLogin": "Connexion Room Server",
"contacts_openChat": "Ouverture du Chat", "contacts_openChat": "Ouverture du Chat",
"contacts_editGroup": "Modifier le groupe", "contacts_editGroup": "Modifier le groupe",
"contacts_deleteGroup": "Supprimer le groupe", "contacts_deleteGroup": "Supprimer le groupe",
@@ -798,7 +798,7 @@
"dialog_disconnect": "Déconnecter", "dialog_disconnect": "Déconnecter",
"dialog_disconnectConfirm": "Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?", "dialog_disconnectConfirm": "Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?",
"login_repeaterLogin": "Connexion au répéteur", "login_repeaterLogin": "Connexion au répéteur",
"login_roomLogin": "Connexion Salle", "login_roomLogin": "Connexion Room Server",
"login_password": "Mot de passe", "login_password": "Mot de passe",
"login_enterPassword": "Entrez votre mot de passe", "login_enterPassword": "Entrez votre mot de passe",
"login_savePassword": "Sauvegarder le mot de passe", "login_savePassword": "Sauvegarder le mot de passe",
@@ -1393,7 +1393,7 @@
"settings_locationIntervalSec": "Intervalle de mise-à-jour du GPS (Secondes)", "settings_locationIntervalSec": "Intervalle de mise-à-jour du GPS (Secondes)",
"settings_locationIntervalInvalid": "L'intervalle doit être compris entre 60 et 86400 secondes.", "settings_locationIntervalInvalid": "L'intervalle doit être compris entre 60 et 86400 secondes.",
"contacts_manageRoom": "Gérer le Room Server", "contacts_manageRoom": "Gérer le Room Server",
"room_management": "Administración del Servidor de Habitación", "room_management": "Administrattion Room Server",
"@community_joinConfirmation": { "@community_joinConfirmation": {
"placeholders": { "placeholders": {
"name": { "name": {
+3 -3
View File
@@ -711,7 +711,7 @@ class AppLocalizationsFr extends AppLocalizations {
String get contacts_manageRoom => 'Gérer le Room Server'; String get contacts_manageRoom => 'Gérer le Room Server';
@override @override
String get contacts_roomLogin => 'Connexion Salle'; String get contacts_roomLogin => 'Connexion Room Server';
@override @override
String get contacts_openChat => 'Ouverture du Chat'; String get contacts_openChat => 'Ouverture du Chat';
@@ -1574,7 +1574,7 @@ class AppLocalizationsFr extends AppLocalizations {
String get login_repeaterLogin => 'Connexion au répéteur'; String get login_repeaterLogin => 'Connexion au répéteur';
@override @override
String get login_roomLogin => 'Connexion Salle'; String get login_roomLogin => 'Connexion Room Server';
@override @override
String get login_password => 'Mot de passe'; String get login_password => 'Mot de passe';
@@ -1699,7 +1699,7 @@ class AppLocalizationsFr extends AppLocalizations {
String get repeater_management => 'Gestion des répéteurs'; String get repeater_management => 'Gestion des répéteurs';
@override @override
String get room_management => 'Administración del Servidor de Habitación'; String get room_management => 'Administrattion Room Server';
@override @override
String get repeater_managementTools => 'Outils de Gestion'; String get repeater_managementTools => 'Outils de Gestion';
+20 -2
View File
@@ -3,6 +3,7 @@ import 'dart:math';
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:meshcore_open/storage/channel_message_store.dart';
import 'package:meshcore_open/widgets/app_bar.dart'; import 'package:meshcore_open/widgets/app_bar.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:uuid/uuid.dart'; import 'package:uuid/uuid.dart';
@@ -105,6 +106,7 @@ class _ChannelsScreenState extends State<ChannelsScreen>
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final connector = context.watch<MeshCoreConnector>(); final connector = context.watch<MeshCoreConnector>();
final channelMessageStore = ChannelMessageStore();
// Auto-navigate back to scanner if disconnected // Auto-navigate back to scanner if disconnected
if (!checkConnectionAndNavigate(connector)) { if (!checkConnectionAndNavigate(connector)) {
@@ -304,6 +306,7 @@ class _ChannelsScreenState extends State<ChannelsScreen>
return _buildChannelTile( return _buildChannelTile(
context, context,
connector, connector,
channelMessageStore,
channel, channel,
showDragHandle: true, showDragHandle: true,
dragIndex: index, dragIndex: index,
@@ -323,6 +326,7 @@ class _ChannelsScreenState extends State<ChannelsScreen>
return _buildChannelTile( return _buildChannelTile(
context, context,
connector, connector,
channelMessageStore,
channel, channel,
); );
}, },
@@ -352,6 +356,7 @@ class _ChannelsScreenState extends State<ChannelsScreen>
Widget _buildChannelTile( Widget _buildChannelTile(
BuildContext context, BuildContext context,
MeshCoreConnector connector, MeshCoreConnector connector,
ChannelMessageStore channelMessageStore,
Channel channel, { Channel channel, {
bool showDragHandle = false, bool showDragHandle = false,
int? dragIndex, int? dragIndex,
@@ -468,7 +473,12 @@ class _ChannelsScreenState extends State<ChannelsScreen>
); );
} }
}, },
onLongPress: () => _showChannelActions(context, connector, channel), onLongPress: () => _showChannelActions(
context,
connector,
channelMessageStore,
channel,
),
), ),
); );
} }
@@ -476,6 +486,7 @@ class _ChannelsScreenState extends State<ChannelsScreen>
void _showChannelActions( void _showChannelActions(
BuildContext context, BuildContext context,
MeshCoreConnector connector, MeshCoreConnector connector,
ChannelMessageStore channelMessageStore,
Channel channel, Channel channel,
) { ) {
final settingsService = context.read<AppSettingsService>(); final settingsService = context.read<AppSettingsService>();
@@ -528,7 +539,12 @@ class _ChannelsScreenState extends State<ChannelsScreen>
Navigator.pop(context); Navigator.pop(context);
await Future.delayed(const Duration(milliseconds: 100)); await Future.delayed(const Duration(milliseconds: 100));
if (context.mounted) { if (context.mounted) {
_confirmDeleteChannel(context, connector, channel); _confirmDeleteChannel(
context,
connector,
channelMessageStore,
channel,
);
} }
}, },
), ),
@@ -1474,6 +1490,7 @@ class _ChannelsScreenState extends State<ChannelsScreen>
void _confirmDeleteChannel( void _confirmDeleteChannel(
BuildContext context, BuildContext context,
MeshCoreConnector connector, MeshCoreConnector connector,
ChannelMessageStore channelMessageStore,
Channel channel, Channel channel,
) { ) {
showDialog( showDialog(
@@ -1492,6 +1509,7 @@ class _ChannelsScreenState extends State<ChannelsScreen>
onPressed: () { onPressed: () {
Navigator.pop(dialogContext); Navigator.pop(dialogContext);
connector.deleteChannel(channel.index); connector.deleteChannel(channel.index);
channelMessageStore.clearChannelMessages(channel.index);
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar( SnackBar(
content: Text( content: Text(
+2 -2
View File
@@ -561,10 +561,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.0" version: "1.18.0"
mgrs_dart: mgrs_dart:
dependency: transitive dependency: transitive
description: description:
+1 -1
View File
@@ -50,7 +50,7 @@ dependencies:
cached_network_image: ^3.4.1 cached_network_image: ^3.4.1
flutter_cache_manager: ^3.4.1 flutter_cache_manager: ^3.4.1
flutter_foreground_task: ^9.2.0 flutter_foreground_task: ^9.2.0
wakelock_plus: ^1.2.8 wakelock_plus: ^1.4.0
characters: ^1.4.0 characters: ^1.4.0
package_info_plus: ^9.0.0 package_info_plus: ^9.0.0
mobile_scanner: ^7.1.4 # QR/barcode scanning mobile_scanner: ^7.1.4 # QR/barcode scanning