mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-06-30 14:10:30 +10:00
Merge branch 'main' into chrome/main
This commit is contained in:
@@ -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
@@ -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": {
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user