feat: Add dialog messages for companion connection and disconnection

- Introduced new dialog messages for connecting to a companion and handling disconnection across multiple languages.
- Updated localization files for French, Hungarian, Italian, Japanese, Korean, Bulgarian, German, English, Spanish, Dutch, Polish, Portuguese, Russian, Slovak, Slovenian, Swedish, Ukrainian, and Chinese.
- Modified the contacts and map screens to utilize the new dialog messages.
- Enhanced the disconnect confirmation dialog to show a message upon successful disconnection.
- Updated app bar to conditionally display radio stats based on companion connection status.
This commit is contained in:
Winston Lowe
2026-05-12 17:59:40 -07:00
parent 72fea3fc32
commit fa044dd204
41 changed files with 379 additions and 149 deletions
+4 -1
View File
@@ -2312,5 +2312,8 @@
"chat_newMessages": "Нови съобщения",
"settings_companionDebugLog": "Лог за отстраняване на грешки (за съпътстваща програма)",
"repeater_chanUtil": "Използване на канала",
"contact_connectCompanion": "Свържете се с придружител, за да получите достъп до функциите на ретранслатора и сървъра за стаи."
"dialog_connectCompanion": "Свържете се с придружител, за да получите достъп до функциите на ретранслатора и сървъра за стаи.",
"dialog_disconnectedTitle": "Прекъснато",
"dialog_disconnectedMessage": "Свързването ви с вашия спътник е прекъснато.",
"contact_connectCompanion": "Свържете се с спътник, за да получите достъп до функциите на repeater и room server."
}
+4 -1
View File
@@ -2340,5 +2340,8 @@
"settings_companionDebugLog": "Debug-Protokoll für die Begleitsoftware",
"settings_companionDebugLogSubtitle": "BLE/TCP/USB-Befehle, Antworten und Rohdaten",
"repeater_chanUtil": "Nutzung des Kanals",
"contact_connectCompanion": "Verbinden Sie sich mit einem Companion, um auf die Funktionen des Repeaters und des Raumservers zuzugreifen."
"dialog_connectCompanion": "Verbinden Sie sich mit einem Companion, um auf die Funktionen des Repeaters und des Raumservers zuzugreifen.",
"dialog_disconnectedTitle": "Getrennt",
"dialog_disconnectedMessage": "Du wurdest von deinem Begleiter getrennt.",
"contact_connectCompanion": "Mit einem Companion verbinden, um auf Repeater- und Raumserver-Funktionen zuzugreifen."
}
+5 -3
View File
@@ -1062,6 +1062,9 @@
"time_allTime": "All Time",
"dialog_disconnect": "Disconnect",
"dialog_disconnectConfirm": "Are you sure you want to disconnect from this device?",
"dialog_disconnectedTitle": "Disconnected",
"dialog_disconnectedMessage": "You have been disconnected from your companion.",
"dialog_connectCompanion": "Connect to a companion to access repeater and room server features.",
"login_repeaterLogin": "Repeater Login",
"login_roomLogin": "Room Server Login",
"login_password": "Password",
@@ -2366,6 +2369,5 @@
"contact_typeRepeater": "Repeater",
"contact_typeRoom": "Room",
"contact_typeSensor": "Sensor",
"contact_typeUnknown": "Unknown",
"contact_connectCompanion": "Connect to a companion to access repeater and room server features."
}
"contact_typeUnknown": "Unknown"
}
+4 -1
View File
@@ -2340,5 +2340,8 @@
"settings_companionDebugLogSubtitle": "Comandos, respuestas y datos brutos para protocolos BLE/TCP/USB",
"chat_markAsUnread": "Marcar como no leído",
"repeater_chanUtil": "Utilización del canal",
"contact_connectCompanion": "Conéctate a un compañero para acceder a las funciones de repetidor y servidor de sala."
"dialog_connectCompanion": "Conéctate a un compañero para acceder a las funciones de repetidor y servidor de sala.",
"dialog_disconnectedTitle": "Desconectado",
"dialog_disconnectedMessage": "Te has desconectado de tu compañero.",
"contact_connectCompanion": "Conéctate a un compañero para acceder a las funciones del repetidor y del servidor de la sala."
}
+4 -1
View File
@@ -2319,5 +2319,8 @@
"chat_newMessages": "Nouveaux messages",
"settings_companionDebugLogSubtitle": "Commandes, réponses et données brutes pour les protocoles BLE/TCP/USB",
"repeater_chanUtil": "Utilisation du canal",
"contact_connectCompanion": "Connectez-vous à un compagnon pour accéder aux fonctionnalités de répéteur et de serveur de salle."
"dialog_connectCompanion": "Connectez-vous à un compagnon pour accéder aux fonctionnalités de répéteur et de serveur de salle.",
"dialog_disconnectedTitle": "Déconnecté",
"dialog_disconnectedMessage": "Vous avez été déconnecté de votre compagnon.",
"contact_connectCompanion": "Connectez-vous à un compagnon pour accéder aux fonctionnalités du répéteur et du serveur de salle."
}
+4 -1
View File
@@ -2350,5 +2350,8 @@
"settings_companionDebugLog": "Párhuzamos hibakeresési napló",
"settings_companionDebugLogSubtitle": "BLE/TCP/USB parancsok, válaszok és alapvető adatok",
"repeater_chanUtil": "Csatorna-használat",
"contact_connectCompanion": "Csatlakozzon egy kísérőhöz a ismétlő és szobaszerver funkciók eléréséhez."
"dialog_connectCompanion": "Csatlakozzon egy kísérőhöz a ismétlő és szobaszerver funkciók eléréséhez.",
"dialog_disconnectedTitle": "Lejárat",
"dialog_disconnectedMessage": "Lehentetőtől megszakadtál.",
"contact_connectCompanion": "Csatlakozzon egy társhoz az ismpa- és szobaszerver funkciók eléréséhez."
}
+4 -1
View File
@@ -2312,5 +2312,8 @@
"chat_newMessages": "Nuovi messaggi",
"chat_markAsUnread": "Segna come non letto",
"repeater_chanUtil": "Utilizzo del canale",
"contact_connectCompanion": "Connettiti a un dispositivo companion per accedere alle funzionalità di ripetitore e server stanza."
"dialog_connectCompanion": "Connettiti a un dispositivo companion per accedere alle funzionalità di ripetitore e server stanza.",
"dialog_disconnectedTitle": "Disconnesso",
"dialog_disconnectedMessage": "Sei stato disconnesso dal tuo compagno.",
"contact_connectCompanion": "Connettiti a un companion per accedere alle funzioni del repeater e del server di stanza."
}
+4 -1
View File
@@ -2350,5 +2350,8 @@
"chat_newMessages": "新しいメッセージ",
"chat_markAsUnread": "未読としてマークする",
"repeater_chanUtil": "チャンネルの利用状況",
"contact_connectCompanion": "コネクトしてリピーターとルームサーバー機能にアクセス"
"dialog_connectCompanion": "コネクトしてリピーターとルームサーバー機能にアクセス",
"dialog_disconnectedTitle": "切断済み",
"dialog_disconnectedMessage": "コンパニオンとの接続が切れました。",
"contact_connectCompanion": "リピーターおよびルームサーバー機能にアクセスするには、コンパニオンに接続してください。"
}
+3
View File
@@ -2350,5 +2350,8 @@
"settings_companionDebugLogSubtitle": "BLE/TCP/USB 명령어, 응답 및 원시 데이터",
"chat_markAsUnread": "미리 읽지 않음으로 표시",
"repeater_chanUtil": "채널 활용도",
"dialog_connectCompanion": "리피터 및 룸 서버 기능에 액세스하려면 컴패니언에 연결하세요.",
"dialog_disconnectedTitle": "연결 끊김",
"dialog_disconnectedMessage": "컴패니언과의 연결이 끊어졌습니다.",
"contact_connectCompanion": "리피터 및 룸 서버 기능에 액세스하려면 컴패니언에 연결하세요."
}
+18 -6
View File
@@ -3561,6 +3561,24 @@ abstract class AppLocalizations {
/// **'Are you sure you want to disconnect from this device?'**
String get dialog_disconnectConfirm;
/// No description provided for @dialog_disconnectedTitle.
///
/// In en, this message translates to:
/// **'Disconnected'**
String get dialog_disconnectedTitle;
/// No description provided for @dialog_disconnectedMessage.
///
/// In en, this message translates to:
/// **'You have been disconnected from your companion.'**
String get dialog_disconnectedMessage;
/// No description provided for @dialog_connectCompanion.
///
/// In en, this message translates to:
/// **'Connect to a companion to access repeater and room server features.'**
String get dialog_connectCompanion;
/// No description provided for @login_repeaterLogin.
///
/// In en, this message translates to:
@@ -7335,12 +7353,6 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Unknown'**
String get contact_typeUnknown;
/// No description provided for @contact_connectCompanion.
///
/// In en, this message translates to:
/// **'Connect to a companion to access repeater and room server features.'**
String get contact_connectCompanion;
}
class _AppLocalizationsDelegate
+11 -4
View File
@@ -1979,6 +1979,17 @@ class AppLocalizationsBg extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Сигурни ли сте, че искате да се откъснете от това устройство?';
@override
String get dialog_disconnectedTitle => 'Прекъснато';
@override
String get dialog_disconnectedMessage =>
'Свързването ви с вашия спътник е прекъснато.';
@override
String get dialog_connectCompanion =>
'Свържете се с придружител, за да получите достъп до функциите на ретранслатора и сървъра за стаи.';
@override
String get login_repeaterLogin => 'Повторител Вход';
@@ -4288,8 +4299,4 @@ class AppLocalizationsBg extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Свържете се с придружител, за да получите достъп до функциите на ретранслатора и сървъра за стаи.';
}
+11 -4
View File
@@ -1977,6 +1977,17 @@ class AppLocalizationsDe extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Sind Sie sicher, dass Sie sich von diesem Gerät trennen möchten?';
@override
String get dialog_disconnectedTitle => 'Getrennt';
@override
String get dialog_disconnectedMessage =>
'Du wurdest von deinem Begleiter getrennt.';
@override
String get dialog_connectCompanion =>
'Verbinden Sie sich mit einem Companion, um auf die Funktionen des Repeaters und des Raumservers zuzugreifen.';
@override
String get login_repeaterLogin => 'Beim Repeater anmelden';
@@ -4305,8 +4316,4 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Verbinden Sie sich mit einem Companion, um auf die Funktionen des Repeaters und des Raumservers zuzugreifen.';
}
+11 -4
View File
@@ -1938,6 +1938,17 @@ class AppLocalizationsEn extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Are you sure you want to disconnect from this device?';
@override
String get dialog_disconnectedTitle => 'Disconnected';
@override
String get dialog_disconnectedMessage =>
'You have been disconnected from your companion.';
@override
String get dialog_connectCompanion =>
'Connect to a companion to access repeater and room server features.';
@override
String get login_repeaterLogin => 'Repeater Login';
@@ -4210,8 +4221,4 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Connect to a companion to access repeater and room server features.';
}
+11 -4
View File
@@ -1974,6 +1974,17 @@ class AppLocalizationsEs extends AppLocalizations {
String get dialog_disconnectConfirm =>
'¿Está seguro de que desea desconectarse de este dispositivo?';
@override
String get dialog_disconnectedTitle => 'Desconectado';
@override
String get dialog_disconnectedMessage =>
'Te has desconectado de tu compañero.';
@override
String get dialog_connectCompanion =>
'Conéctate a un compañero para acceder a las funciones de repetidor y servidor de sala.';
@override
String get login_repeaterLogin => 'Iniciar sesión en el Repetidor';
@@ -4292,8 +4303,4 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Conéctate a un compañero para acceder a las funciones de repetidor y servidor de sala.';
}
+11 -4
View File
@@ -1985,6 +1985,17 @@ class AppLocalizationsFr extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?';
@override
String get dialog_disconnectedTitle => 'Déconnecté';
@override
String get dialog_disconnectedMessage =>
'Vous avez été déconnecté de votre compagnon.';
@override
String get dialog_connectCompanion =>
'Connectez-vous à un compagnon pour accéder aux fonctionnalités de répéteur et de serveur de salle.';
@override
String get login_repeaterLogin => 'Connexion au répéteur';
@@ -4321,8 +4332,4 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Connectez-vous à un compagnon pour accéder aux fonctionnalités de répéteur et de serveur de salle.';
}
+10 -4
View File
@@ -1986,6 +1986,16 @@ class AppLocalizationsHu extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Biztosan szeretné kiírni ezt a készüléket?';
@override
String get dialog_disconnectedTitle => 'Lejárat';
@override
String get dialog_disconnectedMessage => 'Lehentetőtől megszakadtál.';
@override
String get dialog_connectCompanion =>
'Csatlakozzon egy kísérőhöz a ismétlő és szobaszerver funkciók eléréséhez.';
@override
String get login_repeaterLogin => 'Ismételt bejelentkezés';
@@ -4309,8 +4319,4 @@ class AppLocalizationsHu extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Csatlakozzon egy kísérőhöz a ismétlő és szobaszerver funkciók eléréséhez.';
}
+11 -4
View File
@@ -1976,6 +1976,17 @@ class AppLocalizationsIt extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Sei sicuro di voler disconnetterti da questo dispositivo?';
@override
String get dialog_disconnectedTitle => 'Disconnesso';
@override
String get dialog_disconnectedMessage =>
'Sei stato disconnesso dal tuo compagno.';
@override
String get dialog_connectCompanion =>
'Connettiti a un dispositivo companion per accedere alle funzionalità di ripetitore e server stanza.';
@override
String get login_repeaterLogin => 'Login Ripetitore';
@@ -4297,8 +4308,4 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Connettiti a un dispositivo companion per accedere alle funzionalità di ripetitore e server stanza.';
}
+9 -3
View File
@@ -1894,6 +1894,15 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get dialog_disconnectConfirm => '本当にこのデバイスとの接続を解除したいですか?';
@override
String get dialog_disconnectedTitle => '切断済み';
@override
String get dialog_disconnectedMessage => 'コンパニオンとの接続が切れました。';
@override
String get dialog_connectCompanion => 'コネクトしてリピーターとルームサーバー機能にアクセス';
@override
String get login_repeaterLogin => '再ログイン';
@@ -4063,7 +4072,4 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion => 'コネクトしてリピーターとルームサーバー機能にアクセス';
}
+9 -3
View File
@@ -1890,6 +1890,15 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get dialog_disconnectConfirm => '이 장치와의 연결을 해제하시겠습니까?';
@override
String get dialog_disconnectedTitle => '연결 끊김';
@override
String get dialog_disconnectedMessage => '컴패니언과의 연결이 끊어졌습니다.';
@override
String get dialog_connectCompanion => '리피터 및 룸 서버 기능에 액세스하려면 컴패니언에 연결하세요.';
@override
String get login_repeaterLogin => '다시 로그인';
@@ -4064,7 +4073,4 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion => '리피터 및 룸 서버 기능에 액세스하려면 컴패니언에 연결하세요.';
}
+11 -4
View File
@@ -1963,6 +1963,17 @@ class AppLocalizationsNl extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Ben je er zeker van dat je verbinding met dit apparaat wilt verbreken?';
@override
String get dialog_disconnectedTitle => 'Verbroken';
@override
String get dialog_disconnectedMessage =>
'Je bent verbonden met je companion.';
@override
String get dialog_connectCompanion =>
'Maak verbinding met een companion om repeater- en kamerserverfuncties te gebruiken.';
@override
String get login_repeaterLogin => 'Inloggen Repeater';
@@ -4273,8 +4284,4 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Maak verbinding met een companion om repeater- en kamerserverfuncties te gebruiken.';
}
+11 -4
View File
@@ -1990,6 +1990,17 @@ class AppLocalizationsPl extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Czy na pewno chcesz się odłączyć od tego urządzenia?';
@override
String get dialog_disconnectedTitle => 'Rozłączono';
@override
String get dialog_disconnectedMessage =>
'Zostałeś rozłączony ze swoim towarzyszem.';
@override
String get dialog_connectCompanion =>
'Połącz się z towarzyszem, aby uzyskać dostęp do funkcji powtarzacza i serwera pokoi.';
@override
String get login_repeaterLogin => 'Logowanie do przekaźnika';
@@ -4309,8 +4320,4 @@ class AppLocalizationsPl extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Połącz się z towarzyszem, aby uzyskać dostęp do funkcji powtarzacza i serwera pokoi.';
}
+11 -4
View File
@@ -1973,6 +1973,17 @@ class AppLocalizationsPt extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Tem certeza de que deseja desconectar deste dispositivo?';
@override
String get dialog_disconnectedTitle => 'Desconectado';
@override
String get dialog_disconnectedMessage =>
'Você foi desconectado do seu companheiro.';
@override
String get dialog_connectCompanion =>
'Conecte-se a um dispositivo companion para acessar as funcionalidades de repetidor e servidor de salas.';
@override
String get login_repeaterLogin => 'Login ao Repetidor';
@@ -4285,8 +4296,4 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Conecte-se a um dispositivo companion para acessar as funcionalidades de repetidor e servidor de salas.';
}
+11 -4
View File
@@ -1977,6 +1977,17 @@ class AppLocalizationsRu extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Вы уверены, что хотите отключиться от этого устройства?';
@override
String get dialog_disconnectedTitle => 'Отключено';
@override
String get dialog_disconnectedMessage =>
'Вы были отключены от вашего компаньона.';
@override
String get dialog_connectCompanion =>
'Подключитесь к компаньону, чтобы получить доступ к функциям ретранслятора и сервера комнат.';
@override
String get login_repeaterLogin => 'Вход в репитер';
@@ -4303,8 +4314,4 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get contact_typeUnknown => 'Неизвестно';
@override
String get contact_connectCompanion =>
'Подключитесь к компаньону, чтобы получить доступ к функциям ретранслятора и сервера комнат.';
}
+11 -4
View File
@@ -1963,6 +1963,17 @@ class AppLocalizationsSk extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Ste si istý/á, že chcete odpojiť od tohto zariadenia?';
@override
String get dialog_disconnectedTitle => 'Odpojené';
@override
String get dialog_disconnectedMessage =>
'Od vášho spoločníka ste boli odpojený.';
@override
String get dialog_connectCompanion =>
'Pripojte sa k sprievodcovi a získajte prístup k funkciám opakovača a serveru miestností.';
@override
String get login_repeaterLogin => 'Opätovné prihlásenie';
@@ -4269,8 +4280,4 @@ class AppLocalizationsSk extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Pripojte sa k sprievodcovi a získajte prístup k funkciám opakovača a serveru miestností.';
}
+11 -4
View File
@@ -1961,6 +1961,17 @@ class AppLocalizationsSl extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Ste prepričani, da želite se odklopiti s tega naprave?';
@override
String get dialog_disconnectedTitle => 'Prekinjeno';
@override
String get dialog_disconnectedMessage =>
'Prekinjena povezava s vašim spre伴ovalcem.';
@override
String get dialog_connectCompanion =>
'Povežite se s spremljevalnikom za dostop do funkcij ponavljalnika in strežnika sob.';
@override
String get login_repeaterLogin => 'Ponovni vnos';
@@ -4267,8 +4278,4 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Povežite se s spremljevalnikom za dostop do funkcij ponavljalnika in strežnika sob.';
}
+11 -4
View File
@@ -1950,6 +1950,17 @@ class AppLocalizationsSv extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Är du säker på att du vill koppla från enheten?';
@override
String get dialog_disconnectedTitle => 'Ansluten ej';
@override
String get dialog_disconnectedMessage =>
'Du har kopplats från din companion.';
@override
String get dialog_connectCompanion =>
'Anslut till en sällskapstjänst för att komma åt upprepning och rumsserverfunktioner.';
@override
String get login_repeaterLogin => 'Återuppta Inloggning';
@@ -4241,8 +4252,4 @@ class AppLocalizationsSv extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion =>
'Anslut till en sällskapstjänst för att komma åt upprepning och rumsserverfunktioner.';
}
+11 -4
View File
@@ -1972,6 +1972,17 @@ class AppLocalizationsUk extends AppLocalizations {
String get dialog_disconnectConfirm =>
'Ви впевнені, що хочете відключитись від цього пристрою?';
@override
String get dialog_disconnectedTitle => 'Від’єднано';
@override
String get dialog_disconnectedMessage =>
'Вас від’єднано від вашого супутника.';
@override
String get dialog_connectCompanion =>
'Підключіться до супутнього пристрою, щоб отримати доступ до функцій ретранслятора та сервера кімнат.';
@override
String get login_repeaterLogin => 'Вхід у ретранслятор';
@@ -4304,8 +4315,4 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get contact_typeUnknown => 'Невідомо';
@override
String get contact_connectCompanion =>
'Підключіться до супутнього пристрою, щоб отримати доступ до функцій ретранслятора та сервера кімнат.';
}
+9 -3
View File
@@ -1861,6 +1861,15 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get dialog_disconnectConfirm => '确定要断开与此设备的连接吗?';
@override
String get dialog_disconnectedTitle => '已断开连接';
@override
String get dialog_disconnectedMessage => '你已与你的伙伴断开连接。';
@override
String get dialog_connectCompanion => '连接伴机以访问中继器和房间服务器功能。';
@override
String get login_repeaterLogin => '转发节点登录';
@@ -3938,7 +3947,4 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get contact_typeUnknown => 'Unknown';
@override
String get contact_connectCompanion => '连接伴机以访问中继器和房间服务器功能。';
}
+4 -1
View File
@@ -2312,5 +2312,8 @@
"chat_markAsUnread": "Markeer als ongelezen",
"settings_companionDebugLogSubtitle": "BLE/TCP/USB commando's, antwoorden en ruwe data",
"repeater_chanUtil": "Gebruik van het kanaal",
"contact_connectCompanion": "Maak verbinding met een companion om repeater- en kamerserverfuncties te gebruiken."
"dialog_connectCompanion": "Maak verbinding met een companion om repeater- en kamerserverfuncties te gebruiken.",
"dialog_disconnectedTitle": "Verbroken",
"dialog_disconnectedMessage": "Je bent verbonden met je companion.",
"contact_connectCompanion": "Maak verbinding met een companion om toegang te krijgen tot repeater- en roomserverfuncties."
}
+4 -1
View File
@@ -2350,5 +2350,8 @@
"chat_markAsUnread": "Oznacz jako nieprzeczytane",
"settings_companionDebugLog": "Log debugowania (dla pomocy w rozwiązywaniu problemów)",
"repeater_chanUtil": "Wykorzystanie kanału",
"contact_connectCompanion": "Połącz się z towarzyszem, aby uzyskać dostęp do funkcji powtarzacza i serwera pokoi."
"dialog_connectCompanion": "Połącz się z towarzyszem, aby uzyskać dostęp do funkcji powtarzacza i serwera pokoi.",
"dialog_disconnectedTitle": "Rozłączono",
"dialog_disconnectedMessage": "Zostałeś rozłączony ze swoim towarzyszem.",
"contact_connectCompanion": "Połącz się z towarzyszem, aby uzyskać dostęp do funkcji repeatera i serwera pokojowego."
}
+4 -1
View File
@@ -2312,5 +2312,8 @@
"chat_markAsUnread": "Marcar como não lido",
"chat_newMessages": "Novas mensagens",
"repeater_chanUtil": "Utilização do canal",
"contact_connectCompanion": "Conecte-se a um dispositivo companion para acessar as funcionalidades de repetidor e servidor de salas."
"dialog_connectCompanion": "Conecte-se a um dispositivo companion para acessar as funcionalidades de repetidor e servidor de salas.",
"dialog_disconnectedTitle": "Desconectado",
"dialog_disconnectedMessage": "Você foi desconectado do seu companheiro.",
"contact_connectCompanion": "Conecte-se a um companheiro para acessar recursos de repetidor e servidor de sala."
}
+4 -1
View File
@@ -1615,5 +1615,8 @@
"settings_companionDebugLogSubtitle": "Команды, ответы и необработанные данные, используемые для протоколов BLE, TCP и USB.",
"repeater_chanUtil": "Использование канала",
"settings_companionDebugLog": "Журнал отладки (для сопутствующего приложения)",
"contact_connectCompanion": "Подключитесь к компаньону, чтобы получить доступ к функциям ретранслятора и сервера комнат."
"dialog_connectCompanion": "Подключитесь к компаньону, чтобы получить доступ к функциям ретранслятора и сервера комнат.",
"dialog_disconnectedTitle": "Отключено",
"dialog_disconnectedMessage": "Вы были отключены от вашего компаньона.",
"contact_connectCompanion": "Подключитесь к компаньону, чтобы получить доступ к функциям репитера и серверу комнаты."
}
+4 -1
View File
@@ -2312,5 +2312,8 @@
"settings_companionDebugLog": "Logovanie pre ladenie (sprievodný log)",
"chat_newMessages": "Nové správy",
"repeater_chanUtil": "Využitie kanálu",
"contact_connectCompanion": "Pripojte sa k sprievodcovi a získajte prístup k funkciám opakovača a serveru miestností."
"dialog_connectCompanion": "Pripojte sa k sprievodcovi a získajte prístup k funkciám opakovača a serveru miestností.",
"dialog_disconnectedTitle": "Odpojené",
"dialog_disconnectedMessage": "Od vášho spoločníka ste boli odpojený.",
"contact_connectCompanion": "Pripojte sa k spoločníkovi pre prístup k funkciám opakovača a miestneho servera."
}
+4 -1
View File
@@ -2312,5 +2312,8 @@
"chat_newMessages": "Nove novice",
"settings_companionDebugLogSubtitle": "Navodila, odgovori in surova podatka za BLE/TCP/USB.",
"repeater_chanUtil": "Uporaba kanala",
"contact_connectCompanion": "Povežite se s spremljevalnikom za dostop do funkcij ponavljalnika in strežnika sob."
"dialog_connectCompanion": "Povežite se s spremljevalnikom za dostop do funkcij ponavljalnika in strežnika sob.",
"dialog_disconnectedTitle": "Prekinjeno",
"dialog_disconnectedMessage": "Prekinjena povezava s vašim spre伴ovalcem.",
"contact_connectCompanion": "Povežite se s ponсоbnikom za dostop do funkcij pon 반복nika in strežnika prostorov."
}
+4 -1
View File
@@ -2312,5 +2312,8 @@
"chat_newMessages": "Nya meddelanden",
"settings_companionDebugLogSubtitle": "BLE/TCP/USB-kommandon, svar och rådata",
"repeater_chanUtil": "Användning av kanal",
"contact_connectCompanion": "Anslut till en sällskapstjänst för att komma åt upprepning och rumsserverfunktioner."
"dialog_connectCompanion": "Anslut till en sällskapstjänst för att komma åt upprepning och rumsserverfunktioner.",
"dialog_disconnectedTitle": "Ansluten ej",
"dialog_disconnectedMessage": "Du har kopplats från din companion.",
"contact_connectCompanion": "Anslut till en companion för att få tillgång till repeater- och rumsserverfunktioner."
}
+4 -1
View File
@@ -2292,5 +2292,8 @@
"chat_newMessages": "Нові повідомлення",
"chat_markAsUnread": "Позначити як непрочитане",
"repeater_chanUtil": "Використання каналу",
"contact_connectCompanion": "Підключіться до супутнього пристрою, щоб отримати доступ до функцій ретранслятора та сервера кімнат."
"dialog_connectCompanion": "Підключіться до супутнього пристрою, щоб отримати доступ до функцій ретранслятора та сервера кімнат.",
"dialog_disconnectedTitle": "Від’єднано",
"dialog_disconnectedMessage": "Вас від’єднано від вашого супутника.",
"contact_connectCompanion": "Підключіться до супутника, щоб отримати доступ до функцій репітера та серверів кімнат."
}
+4 -1
View File
@@ -2317,5 +2317,8 @@
"chat_newMessages": "新的消息",
"settings_companionDebugLogSubtitle": "BLE/TCP/USB 协议、响应和原始数据",
"repeater_chanUtil": "频道利用率",
"contact_connectCompanion": "连接伴机以访问中继器和房间服务器功能。"
"dialog_connectCompanion": "连接伴机以访问中继器和房间服务器功能。",
"dialog_disconnectedTitle": "已断开连接",
"dialog_disconnectedMessage": "你已与你的伙伴断开连接。",
"contact_connectCompanion": "连接至伴侣设备以访问中继器和房间服务器功能。"
}
+54 -53
View File
@@ -313,63 +313,64 @@ class _ContactsScreenState extends State<ContactsScreen> {
title: AppBarTitle(context.l10n.contacts_title),
automaticallyImplyLeading: false,
actions: [
PopupMenuButton(
itemBuilder: (context) => [
PopupMenuItem(
child: Row(
children: [
const Icon(Icons.connect_without_contact),
const SizedBox(width: 8),
Text(context.l10n.contacts_zeroHopAdvert),
],
),
onTap: () => {
connector.sendSelfAdvert(flood: false),
showDismissibleSnackBar(
context,
content: Text(context.l10n.settings_advertisementSent),
if (connector.isConnected)
PopupMenuButton(
itemBuilder: (context) => [
PopupMenuItem(
child: Row(
children: [
const Icon(Icons.connect_without_contact),
const SizedBox(width: 8),
Text(context.l10n.contacts_zeroHopAdvert),
],
),
},
),
PopupMenuItem(
child: Row(
children: [
const Icon(Icons.cell_tower),
const SizedBox(width: 8),
Text(context.l10n.contacts_floodAdvert),
],
onTap: () => {
connector.sendSelfAdvert(flood: false),
showDismissibleSnackBar(
context,
content: Text(context.l10n.settings_advertisementSent),
),
},
),
onTap: () => {
connector.sendSelfAdvert(flood: true),
showDismissibleSnackBar(
context,
content: Text(context.l10n.settings_advertisementSent),
PopupMenuItem(
child: Row(
children: [
const Icon(Icons.cell_tower),
const SizedBox(width: 8),
Text(context.l10n.contacts_floodAdvert),
],
),
},
),
PopupMenuItem(
child: Row(
children: [
const Icon(Icons.copy),
const SizedBox(width: 8),
Text(context.l10n.contacts_copyAdvertToClipboard),
],
onTap: () => {
connector.sendSelfAdvert(flood: true),
showDismissibleSnackBar(
context,
content: Text(context.l10n.settings_advertisementSent),
),
},
),
onTap: () => _contactExport(Uint8List.fromList([])),
),
PopupMenuItem(
child: Row(
children: [
const Icon(Icons.paste),
const SizedBox(width: 8),
Text(context.l10n.contacts_addContactFromClipboard),
],
PopupMenuItem(
child: Row(
children: [
const Icon(Icons.copy),
const SizedBox(width: 8),
Text(context.l10n.contacts_copyAdvertToClipboard),
],
),
onTap: () => _contactExport(Uint8List.fromList([])),
),
onTap: () => _contactImport(),
),
],
icon: const Icon(Icons.connect_without_contact),
),
PopupMenuItem(
child: Row(
children: [
const Icon(Icons.paste),
const SizedBox(width: 8),
Text(context.l10n.contacts_addContactFromClipboard),
],
),
onTap: () => _contactImport(),
),
],
icon: const Icon(Icons.connect_without_contact),
),
PopupMenuButton(
itemBuilder: (context) => [
if (connector.isConnected)
@@ -1048,7 +1049,7 @@ class _ContactsScreenState extends State<ContactsScreen> {
context: context,
builder: (dialogContext) => AlertDialog(
title: Text(context.l10n.scanner_notConnected),
content: Text(context.l10n.contact_connectCompanion),
content: Text(context.l10n.dialog_connectCompanion),
actions: [
TextButton(
onPressed: () => Navigator.pop(dialogContext),
+27 -1
View File
@@ -416,7 +416,7 @@ class _MapScreenState extends State<MapScreen> {
centerTitle: true,
automaticallyImplyLeading: false,
actions: [
if (!_isBuildingPathTrace)
if (!_isBuildingPathTrace && connector.isConnected)
IconButton(
icon: const Icon(Icons.radar),
onPressed: () => _startPath(
@@ -1500,7 +1500,28 @@ class _MapScreenState extends State<MapScreen> {
);
}
void _showCompanionRequiredDialog(BuildContext context) {
showDialog<void>(
context: context,
builder: (dialogContext) => AlertDialog(
title: Text(context.l10n.scanner_notConnected),
content: Text(context.l10n.dialog_connectCompanion),
actions: [
TextButton(
onPressed: () => Navigator.pop(dialogContext),
child: Text(context.l10n.common_ok),
),
],
),
);
}
void _showRepeaterLogin(BuildContext context, Contact repeater) {
final connector = context.read<MeshCoreConnector>();
if (!connector.isConnected) {
_showCompanionRequiredDialog(context);
return;
}
showDialog(
context: context,
builder: (context) => RepeaterLoginDialog(
@@ -1523,6 +1544,11 @@ class _MapScreenState extends State<MapScreen> {
}
void _showRoomLogin(BuildContext context, Contact room) {
final connector = context.read<MeshCoreConnector>();
if (!connector.isConnected) {
_showCompanionRequiredDialog(context);
return;
}
showDialog(
context: context,
builder: (context) => RoomLoginDialog(
+15
View File
@@ -31,6 +31,21 @@ Future<bool> showDisconnectDialog(
if (confirmed == true) {
appLogger.info('Disconnect confirmed from popup', tag: 'Connection');
await connector.disconnect();
if (context.mounted) {
await showDialog<void>(
context: context,
builder: (context) => AlertDialog(
title: Text(context.l10n.dialog_disconnectedTitle),
content: Text(context.l10n.dialog_disconnectedMessage),
actions: [
TextButton(
onPressed: () => Navigator.pop(context),
child: Text(context.l10n.common_ok),
),
],
),
);
}
return true;
}
return false;
+2 -1
View File
@@ -69,7 +69,8 @@ class AppBarTitle extends StatelessWidget {
if (showBattery) BatteryIndicator(connector: connector),
if (showSnr) SNRIndicator(connector: connector),
if (connector.supportsCompanionRadioStats)
const RadioStatsIconButton(compact: true),
if (connector.isConnected)
const RadioStatsIconButton(compact: true),
],
),
trailing ?? const SizedBox.shrink(),