mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-04-20 22:13:48 +00:00
fix commit
This commit is contained in:
parent
0374f4f5da
commit
79ffc21bd6
23 changed files with 2211 additions and 1831 deletions
|
|
@ -57,9 +57,6 @@ PODS:
|
|||
- nanopb/encode (3.30910.0)
|
||||
- package_info_plus (0.4.5):
|
||||
- Flutter
|
||||
- path_provider_foundation (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- PromisesObjC (2.4.0)
|
||||
- shared_preferences_foundation (0.0.1):
|
||||
- Flutter
|
||||
|
|
@ -79,7 +76,6 @@ DEPENDENCIES:
|
|||
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
|
||||
- mobile_scanner (from `.symlinks/plugins/mobile_scanner/ios`)
|
||||
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
||||
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
||||
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
|
||||
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
|
||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||
|
|
@ -112,8 +108,6 @@ EXTERNAL SOURCES:
|
|||
:path: ".symlinks/plugins/mobile_scanner/ios"
|
||||
package_info_plus:
|
||||
:path: ".symlinks/plugins/package_info_plus/ios"
|
||||
path_provider_foundation:
|
||||
:path: ".symlinks/plugins/path_provider_foundation/darwin"
|
||||
shared_preferences_foundation:
|
||||
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
|
||||
sqflite_darwin:
|
||||
|
|
@ -140,7 +134,6 @@ SPEC CHECKSUMS:
|
|||
mobile_scanner: af8f71879eaba2bbcb4d86c6a462c3c0e7f23036
|
||||
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
|
||||
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
|
||||
path_provider_foundation: bb55f6dbba17d0dccd6737fe6f7f34fbd0376880
|
||||
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
||||
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
|
||||
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
|
||||
|
|
|
|||
|
|
@ -104,9 +104,18 @@ class BufferWriter {
|
|||
}
|
||||
|
||||
void writeHex(String hex) {
|
||||
// Validate hex string length is even and not empty
|
||||
if (hex.isEmpty || hex.length % 2 != 0) {
|
||||
throw FormatException('Invalid hex string length: ${hex.length}');
|
||||
}
|
||||
List<int> result = [];
|
||||
for (int i = 0; i < hex.length ~/ 2; i++) {
|
||||
result.add(int.parse(hex.substring(i * 2, i * 2 + 2), radix: 16));
|
||||
final hexByte = hex.substring(i * 2, i * 2 + 2);
|
||||
final byte = int.tryParse(hexByte, radix: 16);
|
||||
if (byte == null) {
|
||||
throw FormatException('Invalid hex characters at position $i: $hexByte');
|
||||
}
|
||||
result.add(byte);
|
||||
}
|
||||
writeBytes(Uint8List.fromList(result));
|
||||
}
|
||||
|
|
@ -764,4 +773,4 @@ Uint8List buildZeroHopContact(Uint8List pubKey) {
|
|||
writer.writeByte(cmdShareContact);
|
||||
writer.writeBytes(pubKey);
|
||||
return writer.toBytes();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1316,7 +1316,6 @@
|
|||
"pathTrace_failed": "Path trace failed.",
|
||||
"pathTrace_notAvailable": "Path trace not available.",
|
||||
"pathTrace_refreshTooltip": "Refresh Path Trace.",
|
||||
|
||||
"contacts_pathTrace": "Path Trace",
|
||||
"contacts_ping": "Ping",
|
||||
"contacts_repeaterPathTrace": "Path trace to repeater",
|
||||
|
|
@ -1331,10 +1330,10 @@
|
|||
}
|
||||
},
|
||||
|
||||
"contacts_clipboardEmpty": "Clipboard Is Empty.",
|
||||
"contacts_invalidAdvertFormat": "Invalid Contact Data",
|
||||
"contacts_contactImported": "Contact has been Imported.",
|
||||
"contacts_contactImportFailed": "Contact Failed to Imported.",
|
||||
"contacts_clipboardEmpty": "Clipboard is empty.",
|
||||
"contacts_invalidAdvertFormat": "Invalid contact data",
|
||||
"contacts_contactImported": "Contact has been imported.",
|
||||
"contacts_contactImportFailed": "Failed to import contact.",
|
||||
"contacts_zeroHopAdvert":"Zero Hop Advert",
|
||||
"contacts_floodAdvert":"Flood Advert",
|
||||
"contacts_copyAdvertToClipboard":"Copy Advert to Clipboard",
|
||||
|
|
|
|||
|
|
@ -4771,6 +4771,90 @@ abstract class AppLocalizations {
|
|||
/// In en, this message translates to:
|
||||
/// **'Trace route to {name}'**
|
||||
String contacts_pathTraceTo(String name);
|
||||
|
||||
/// No description provided for @contacts_clipboardEmpty.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Clipboard is empty.'**
|
||||
String get contacts_clipboardEmpty;
|
||||
|
||||
/// No description provided for @contacts_invalidAdvertFormat.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Invalid contact data'**
|
||||
String get contacts_invalidAdvertFormat;
|
||||
|
||||
/// No description provided for @contacts_contactImported.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Contact has been imported.'**
|
||||
String get contacts_contactImported;
|
||||
|
||||
/// No description provided for @contacts_contactImportFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to import contact.'**
|
||||
String get contacts_contactImportFailed;
|
||||
|
||||
/// No description provided for @contacts_zeroHopAdvert.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Zero Hop Advert'**
|
||||
String get contacts_zeroHopAdvert;
|
||||
|
||||
/// No description provided for @contacts_floodAdvert.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Flood Advert'**
|
||||
String get contacts_floodAdvert;
|
||||
|
||||
/// No description provided for @contacts_copyAdvertToClipboard.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Copy Advert to Clipboard'**
|
||||
String get contacts_copyAdvertToClipboard;
|
||||
|
||||
/// No description provided for @contacts_addContactFromClipboard.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Add Contact from Clipboard'**
|
||||
String get contacts_addContactFromClipboard;
|
||||
|
||||
/// No description provided for @contacts_ShareContact.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Copy contact to Clipboard'**
|
||||
String get contacts_ShareContact;
|
||||
|
||||
/// No description provided for @contacts_ShareContactZeroHop.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Share contact by advert'**
|
||||
String get contacts_ShareContactZeroHop;
|
||||
|
||||
/// No description provided for @contacts_zeroHopContactAdvertSent.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sent contact by advert.'**
|
||||
String get contacts_zeroHopContactAdvertSent;
|
||||
|
||||
/// No description provided for @contacts_zeroHopContactAdvertFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to send contact.'**
|
||||
String get contacts_zeroHopContactAdvertFailed;
|
||||
|
||||
/// No description provided for @contacts_contactAdvertCopied.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Advert copied to Clipboard.'**
|
||||
String get contacts_contactAdvertCopied;
|
||||
|
||||
/// No description provided for @contacts_contactAdvertCopyFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Copying advert to Clipboard failed.'**
|
||||
String get contacts_contactAdvertCopyFailed;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
|
|
|||
|
|
@ -451,10 +451,10 @@ class AppLocalizationsBg extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Руски';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
String get appSettings_languageUk => 'Украински';
|
||||
|
||||
@override
|
||||
String get appSettings_notifications => 'Уведомления';
|
||||
|
|
@ -2720,4 +2720,50 @@ class AppLocalizationsBg extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Проследи маршрут към $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Клипборда е празна.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Невалидни данни за контакт';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Контактът е импортиран.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed =>
|
||||
'Контактът не е успешно импортиран.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Реклама без скок';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Потопна реклама';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard => 'Копирай обявата в клипборда';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard => 'Добави контакт от клипборда';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Копирай контакт в клипборда';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop => 'Сподели контакт чрез обява';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent => 'Изпратен контакт по обява.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'Неуспешно изпращане на контакт.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied =>
|
||||
'Рекламата е копирана в клипборда.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Копирането на обявата в клипборда не успя.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -445,10 +445,10 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Russisch';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
String get appSettings_languageUk => 'Ukrainisch';
|
||||
|
||||
@override
|
||||
String get appSettings_notifications => 'Benachrichtigungen';
|
||||
|
|
@ -2724,4 +2724,53 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Route nach $name verfolgen';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Die Zwischenablage ist leer.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Ungültige Kontaktdaten';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Kontakt wurde importiert.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed =>
|
||||
'Kontakt konnte nicht importiert werden';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Zero-Hop-Anzeige';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Überflutungsanzeige';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard =>
|
||||
'Werbung in die Zwischenablage kopieren';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard =>
|
||||
'Kontakt aus Zwischenablage hinzufügen';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Kontakt in die Zwischenablage kopieren';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop => 'Kontakt über Anzeige teilen';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent =>
|
||||
'Kontakt über Anzeige gesendet';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'Kontakt konnte nicht gesendet werden.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied =>
|
||||
'Anzeige in die Zwischenablage kopiert.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopieren des Werbeinhalts in die Zwischenablage fehlgeschlagen.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2680,4 +2680,47 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Trace route to $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Clipboard is empty.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Invalid contact data';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Contact has been imported.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed => 'Failed to import contact.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Zero Hop Advert';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Flood Advert';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard => 'Copy Advert to Clipboard';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard => 'Add Contact from Clipboard';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Copy contact to Clipboard';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop => 'Share contact by advert';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent => 'Sent contact by advert.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed => 'Failed to send contact.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied => 'Advert copied to Clipboard.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Copying advert to Clipboard failed.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -448,10 +448,10 @@ class AppLocalizationsEs extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Ruso';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
String get appSettings_languageUk => 'Ucraniano';
|
||||
|
||||
@override
|
||||
String get appSettings_notifications => 'Notificaciones';
|
||||
|
|
@ -2720,4 +2720,50 @@ class AppLocalizationsEs extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Rastrear ruta a $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'El portapapeles está vacío.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Datos de contacto no válidos';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'El contacto ha sido importado.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed =>
|
||||
'Contacto no se importó correctamente.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Anuncio de Zero Hop';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Anuncio de inundación';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard => 'Copiar anuncio al portapapeles';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard =>
|
||||
'Agregar contacto desde el portapapeles';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Copiar contacto al Portapapeles';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop => 'Compartir contacto por anuncio';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent => 'Envió contacto por anuncio.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'No se pudo enviar el contacto.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied => 'Anuncio copiado al Portapapeles.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Copiar anuncio al Portapapeles ha fallado.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -449,10 +449,10 @@ class AppLocalizationsFr extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Russe';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
String get appSettings_languageUk => 'Ukrainien';
|
||||
|
||||
@override
|
||||
String get appSettings_notifications => 'Notifications';
|
||||
|
|
@ -2737,4 +2737,54 @@ class AppLocalizationsFr extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Tracer l\'itinéraire vers $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Le presse-papiers est vide.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Données de contact non valides';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Le contact a été importé.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed =>
|
||||
'Échec de l\'importation du contact.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Annonce Zero Hop';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Annonce de crue';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard =>
|
||||
'Copier l\'annonce dans le presse-papiers';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard =>
|
||||
'Ajouter un contact depuis le presse-papiers';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact =>
|
||||
'Copier le contact dans le presse-papiers';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop => 'Partager un contact par annonce';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent =>
|
||||
'Envoyer un contact par annonce.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'Échec de l\'envoi du contact.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied =>
|
||||
'Annonce copiée dans le presse-papiers.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'La copie de l\'annonce vers le presse-papiers a échoué.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -447,10 +447,10 @@ class AppLocalizationsIt extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Russo';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
String get appSettings_languageUk => 'Ucraino';
|
||||
|
||||
@override
|
||||
String get appSettings_notifications => 'Notifiche';
|
||||
|
|
@ -2721,4 +2721,52 @@ class AppLocalizationsIt extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Traccia percorso verso $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'La clipboard è vuota.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Dati di contatto non validi';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Il contatto è stato importato.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed =>
|
||||
'Contatto non importato con successo.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Annuncio Zero Hop';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Annuncio alluvionale';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard => 'Copia Annuncio negli Appunti';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard =>
|
||||
'Aggiungere contatto dalla clipboard';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Copia contatto negli Appunti';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop =>
|
||||
'Condividi contatto tramite annuncio';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent =>
|
||||
'Inviato contatto tramite annuncio.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'Invio del contatto non riuscito.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied => 'Annuncio copiato negli Appunti.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Copia dell\'annuncio nella Clipboard non riuscita.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -445,10 +445,10 @@ class AppLocalizationsNl extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Russisch';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
String get appSettings_languageUk => 'Oekraïens';
|
||||
|
||||
@override
|
||||
String get appSettings_notifications => 'Notificaties';
|
||||
|
|
@ -2710,4 +2710,52 @@ class AppLocalizationsNl extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Trace route to $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Knipbord is leeg.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Ongeldige contactgegevens';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Contact is geïmporteerd.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed =>
|
||||
'Contact kon niet geïmporteerd worden.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Zero Hop Reclame';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Overstromingsadvertentie';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard => 'Advert naar klembord kopiëren';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard =>
|
||||
'Contact uit klembord toevoegen';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Kontakt naar Klembord kopiëren';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop => 'Contact delen via advertentie';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent =>
|
||||
'Contact verzonden via advertentie';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'Mislukt om contact te verzenden';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied =>
|
||||
'Reclame gekopieerd naar Klembord.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopiëren van advertentie naar Clipboard is mislukt.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -449,10 +449,10 @@ class AppLocalizationsPl extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Rosyjski';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
String get appSettings_languageUk => 'Ukraińska';
|
||||
|
||||
@override
|
||||
String get appSettings_notifications => 'Powiadomienia';
|
||||
|
|
@ -2719,4 +2719,51 @@ class AppLocalizationsPl extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Śledź trasę do $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Schowek jest pusty.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Nieprawidłowe dane kontaktowe';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Kontakt został zaimportowany.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed =>
|
||||
'Kontakt nie został zaimportowany.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Reklama Zero Hop';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Reklama powodziowa';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard => 'Kopiuj ogłoszenie do schowka';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard => 'Dodaj kontakt z schowka';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Kopiuj kontakt do schowka';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop =>
|
||||
'Udostępnij kontakt przez ogłoszenie';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent =>
|
||||
'Wysłano kontakt przez ogłoszenie.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'Nie udało się wysłać kontaktu.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied => 'Reklama skopiowana do schowka.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopiowanie ogłoszenia do schowka nie powiodło się.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -449,10 +449,10 @@ class AppLocalizationsPt extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Russo';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
String get appSettings_languageUk => 'Ucraniano';
|
||||
|
||||
@override
|
||||
String get appSettings_notifications => 'Notificações';
|
||||
|
|
@ -2721,4 +2721,51 @@ class AppLocalizationsPt extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Rastrear rota para $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Área de Transferência Está Vazia.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Dados de Contato Inválidos';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Contato foi importado.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed => 'Contato falhou ao ser importado.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Anúncio Zero Hop';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Anúncio de Inundação';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard =>
|
||||
'Copiar Anúncio para Área de Transferência';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard =>
|
||||
'Adicionar Contato da Área de Transferência';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact =>
|
||||
'Copiar contato para Área de Transferência';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop => 'Compartilhar contato por anúncio';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent => 'Enviou contato por anúncio.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed => 'Falha ao enviar contato.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied =>
|
||||
'Anúncio copiado para a Área de Transferência.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Cópia do anúncio para a Área de Transferência falhou.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2723,4 +2723,54 @@ class AppLocalizationsRu extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Показать маршрут к $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Буфер обмена пуст.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat =>
|
||||
'Недействительные контактные данные';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Контакт был импортирован';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed => 'Контакт не удалось импортировать';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Реклама Zero Hop';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Рекламный поток';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard =>
|
||||
'Копировать рекламу в буфер обмена';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard =>
|
||||
'Добавить контакт из буфера обмена';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Копировать контакт в буфер обмена';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop =>
|
||||
'Поделиться контактом по объявлению';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent =>
|
||||
'Отправлено сообщение по объявлению.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'Не удалось отправить контакт.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied =>
|
||||
'Реклама скопирована в буфер обмена.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Копирование рекламы в буфер обмена не удалось.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -445,10 +445,10 @@ class AppLocalizationsSk extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Ruština';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
String get appSettings_languageUk => 'Ukrajinská';
|
||||
|
||||
@override
|
||||
String get appSettings_notifications => 'Upozornenia';
|
||||
|
|
@ -2706,4 +2706,50 @@ class AppLocalizationsSk extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Sledovať trasu k $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Schránka je prázdna.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Neplatné kontaktné údaje';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Kontakt bol importovaný.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed =>
|
||||
'Kontakt sa nepodarilo importovať.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Inzerát Zero Hop';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Inzerát povodní';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard => 'Kopírovať reklamu do schránky';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard => 'Pridať kontakt z schránky';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Kopírovať kontakt do schránky';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop => 'Zdieľať kontakt cez inzerát';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent => 'Poslal kontakt cez inzerát.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'Zlyhalo odoslanie kontaktu.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied =>
|
||||
'Inzerát bol skopírovaný do schránky.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopírovanie inzerátu do schránky zlyhalo.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -444,10 +444,10 @@ class AppLocalizationsSl extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Ruščina';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
String get appSettings_languageUk => 'Ukrajinsko';
|
||||
|
||||
@override
|
||||
String get appSettings_notifications => 'Obvestila';
|
||||
|
|
@ -2709,4 +2709,49 @@ class AppLocalizationsSl extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Trace route to $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Odložišče je prazno.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Neveljavni kontaktne podatke';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Kontakt je bil uvožen.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed => 'Kontakt ni bil uspešno uvožen.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Reklama brez posrednikov';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Poplavna oglás';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard => 'Kopiraj oglas v odložišče';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard => 'Dodaj stik iz odložišča';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Kopiraj stik v Odložišče';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop => 'Deliti kontakt prek oglasa';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent => 'Poslano po oglasu.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'Pošiljanje kontakta ni uspelo.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied =>
|
||||
'Oglas je bil kopiran v odložišče.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopiranje oglasa v odložišče je spodletelo.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -442,10 +442,10 @@ class AppLocalizationsSv extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Ryska';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
String get appSettings_languageUk => 'Ukrainska';
|
||||
|
||||
@override
|
||||
String get appSettings_notifications => 'Meddelanden';
|
||||
|
|
@ -2694,4 +2694,49 @@ class AppLocalizationsSv extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Spåra rutt till $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Urklipp är tomt.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Ogiltiga kontaktuppgifter';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Kontakt har importerats.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed => 'Kontakt kunde inte importeras.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Reklam med nollhopp';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Översvämningsannons';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard => 'Kopiera annons till urklipp';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard =>
|
||||
'Lägg till kontakt från urklipp';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Kopiera kontakt till Urklipp';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop => 'Dela kontakt via annons';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent => 'Skickat kontakt via annons.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'Misslyckades med att skicka kontakt.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied => 'Annons kopierad till Urklipp.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopiering av annons till Urklipp misslyckades.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -447,7 +447,7 @@ class AppLocalizationsUk extends AppLocalizations {
|
|||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Русский';
|
||||
String get appSettings_languageRu => 'Російська';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Українська';
|
||||
|
|
@ -2730,4 +2730,53 @@ class AppLocalizationsUk extends AppLocalizations {
|
|||
String contacts_pathTraceTo(String name) {
|
||||
return 'Відстежити маршрут до $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'Буфер обміну порожній';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Недійсні контактні дані';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Контакт було імпортовано.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed => 'Контакт не вдалося імпортувати';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Реклама без перехоплення';
|
||||
|
||||
@override
|
||||
String get contacts_floodAdvert => 'Залив реклами';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard =>
|
||||
'Копіювати оголошення в буфер обміну';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard =>
|
||||
'Додати контакт з буфера обміну';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Копіювати контакт у буфер обміну';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop =>
|
||||
'Поділитися контактом за оголошенням';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertSent =>
|
||||
'Відправлено контакт за оголошенням';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopContactAdvertFailed =>
|
||||
'Не вдалося надіслати контакт.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopied =>
|
||||
'Рекламу скопійовано до буфера обміну.';
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Копіювання оголошення в буфер обміну завершилося невдало';
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
1076
lib/l10n/app_zh.arb
1076
lib/l10n/app_zh.arb
File diff suppressed because it is too large
Load diff
|
|
@ -34,6 +34,12 @@ enum RoomLoginDestination {
|
|||
management,
|
||||
}
|
||||
|
||||
enum ContactOperationType {
|
||||
import,
|
||||
export,
|
||||
zeroHopShare,
|
||||
}
|
||||
|
||||
class ContactsScreen extends StatefulWidget {
|
||||
final bool hideBackButton;
|
||||
|
||||
|
|
@ -54,9 +60,7 @@ class _ContactsScreenState extends State<ContactsScreen>
|
|||
List<ContactGroup> _groups = [];
|
||||
Timer? _searchDebounce;
|
||||
|
||||
bool _imported = false;
|
||||
bool _zeroHopContact = false;
|
||||
bool _copyedContact = false;
|
||||
final Set<ContactOperationType> _pendingOperations = {};
|
||||
|
||||
StreamSubscription<Uint8List>? _frameSubscription;
|
||||
|
||||
|
|
@ -97,57 +101,67 @@ class _ContactsScreenState extends State<ContactsScreen>
|
|||
|
||||
if (code == respCodeExportContact) {
|
||||
final advertPacket = frameBuffer.readRemainingBytes();
|
||||
// Validate packet has expected minimum size (98+ bytes per protocol)
|
||||
if (advertPacket.length < 98) {
|
||||
if (mounted) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(context.l10n.contacts_invalidAdvertFormat)),
|
||||
);
|
||||
}
|
||||
_pendingOperations.remove(ContactOperationType.export);
|
||||
return;
|
||||
}
|
||||
final hexString = pubKeyToHex(advertPacket);
|
||||
Clipboard.setData(ClipboardData(text: "meshcore://$hexString"));
|
||||
}
|
||||
|
||||
if(code == respCodeOk) {
|
||||
// Show a snackbar indicating success
|
||||
if(_imported && mounted){
|
||||
if(!mounted) return;
|
||||
|
||||
if(_pendingOperations.contains(ContactOperationType.import)){
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(context.l10n.contacts_contactImported)),
|
||||
);
|
||||
}
|
||||
|
||||
if(_zeroHopContact && mounted) {
|
||||
if(_pendingOperations.contains(ContactOperationType.zeroHopShare)) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(context.l10n.contacts_zeroHopContactAdvertSent)),
|
||||
);
|
||||
}
|
||||
|
||||
if(_copyedContact && mounted) {
|
||||
if(_pendingOperations.contains(ContactOperationType.export)) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(context.l10n.contacts_contactAdvertCopied)),
|
||||
);
|
||||
}
|
||||
|
||||
_copyedContact = false;
|
||||
_zeroHopContact = false;
|
||||
_imported = false;
|
||||
|
||||
_pendingOperations.clear();
|
||||
}
|
||||
|
||||
if(code == respCodeErr) {
|
||||
// Show a snackbar indicating failure
|
||||
if(_imported && mounted){
|
||||
if(!mounted) return;
|
||||
|
||||
if(_pendingOperations.contains(ContactOperationType.import)){
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(context.l10n.contacts_contactImportFailed)),
|
||||
);
|
||||
}
|
||||
|
||||
if(_zeroHopContact && mounted) {
|
||||
if(_pendingOperations.contains(ContactOperationType.zeroHopShare)) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(context.l10n.contacts_zeroHopContactAdvertFailed)),
|
||||
);
|
||||
}
|
||||
if(_copyedContact && mounted) {
|
||||
if(_pendingOperations.contains(ContactOperationType.export)) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(context.l10n.contacts_contactAdvertCopyFailed)),
|
||||
);
|
||||
}
|
||||
|
||||
_copyedContact = false;
|
||||
_imported = false;
|
||||
_zeroHopContact = false;
|
||||
_pendingOperations.clear();
|
||||
}
|
||||
|
||||
});
|
||||
|
|
@ -156,15 +170,14 @@ class _ContactsScreenState extends State<ContactsScreen>
|
|||
Future<void> _contactExport(Uint8List pubKey) async {
|
||||
final connector = Provider.of<MeshCoreConnector>(context, listen: false);
|
||||
final exportContactFrame = buildExportContactFrame(pubKey);
|
||||
_copyedContact = true;
|
||||
_pendingOperations.add(ContactOperationType.export);
|
||||
await connector.sendFrame(exportContactFrame);
|
||||
return;
|
||||
}
|
||||
|
||||
Future<void> _contactZeroHop(Uint8List pubKey) async {
|
||||
final connector = Provider.of<MeshCoreConnector>(context, listen: false);
|
||||
final exportContactZeroHopFrame = buildZeroHopContact(pubKey);
|
||||
_zeroHopContact = true;
|
||||
_pendingOperations.add(ContactOperationType.zeroHopShare);
|
||||
await connector.sendFrame(exportContactZeroHopFrame);
|
||||
}
|
||||
|
||||
|
|
@ -191,8 +204,8 @@ class _ContactsScreenState extends State<ContactsScreen>
|
|||
final hexString = text.substring('meshcore://'.length);
|
||||
try {
|
||||
final importContactFrame = buildImportContactFrame(hexString);
|
||||
_pendingOperations.add(ContactOperationType.import);
|
||||
await connector.sendFrame(importContactFrame);
|
||||
_imported = true;
|
||||
} catch (e) {
|
||||
if(mounted) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
|
|
|
|||
1059
tools/translate.py
1059
tools/translate.py
File diff suppressed because it is too large
Load diff
|
|
@ -1,69 +1 @@
|
|||
{
|
||||
"bg": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"de": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"es": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"fr": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"it": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"nl": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"pl": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"pt": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"ru": [
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"sk": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"sl": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"sv": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
],
|
||||
|
||||
"uk": [
|
||||
"appSettings_languageRu"
|
||||
],
|
||||
|
||||
"zh": [
|
||||
"appSettings_languageRu",
|
||||
"appSettings_languageUk"
|
||||
]
|
||||
}
|
||||
{}
|
||||
Loading…
Add table
Add a link
Reference in a new issue