mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-04-20 22:13:48 +00:00
Merge bb6afad326 into a4bbeffddc
This commit is contained in:
commit
139816629f
43 changed files with 119 additions and 11 deletions
|
|
@ -1353,6 +1353,7 @@
|
|||
"listFilter_users": "Потребители",
|
||||
"listFilter_repeaters": "Повторители",
|
||||
"listFilter_roomServers": "Сървъри на стая",
|
||||
"listFilter_activeChat": "Активен чат",
|
||||
"listFilter_unreadOnly": "Само непрочетените",
|
||||
"listFilter_newGroup": "Нова група",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -1356,6 +1356,7 @@
|
|||
"listFilter_users": "Benutzer",
|
||||
"listFilter_repeaters": "Repeater",
|
||||
"listFilter_roomServers": "Raumserver",
|
||||
"listFilter_activeChat": "Aktiver Chat",
|
||||
"listFilter_unreadOnly": "Nicht gelesen",
|
||||
"listFilter_newGroup": "Neue Gruppe",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -1762,6 +1762,7 @@
|
|||
"listFilter_users": "Users",
|
||||
"listFilter_repeaters": "Repeaters",
|
||||
"listFilter_roomServers": "Room servers",
|
||||
"listFilter_activeChat": "Active chat",
|
||||
"listFilter_unreadOnly": "Unread only",
|
||||
"listFilter_newGroup": "New group",
|
||||
"pathTrace_you": "You",
|
||||
|
|
|
|||
|
|
@ -1353,6 +1353,7 @@
|
|||
"listFilter_users": "Usuarios",
|
||||
"listFilter_repeaters": "Repetidores",
|
||||
"listFilter_roomServers": "Servidores de la sala",
|
||||
"listFilter_activeChat": "Chat activo",
|
||||
"listFilter_unreadOnly": "Solo sin leer",
|
||||
"listFilter_newGroup": "Nuevo grupo",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -1353,6 +1353,7 @@
|
|||
"listFilter_users": "Utilisateurs",
|
||||
"listFilter_repeaters": "Répéteurs",
|
||||
"listFilter_roomServers": "Room servers",
|
||||
"listFilter_activeChat": "Chat actif",
|
||||
"listFilter_unreadOnly": "Messages non lus seulement",
|
||||
"listFilter_newGroup": "Nouveau groupe",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -1706,6 +1706,7 @@
|
|||
"listFilter_users": "Felhasználók",
|
||||
"listFilter_repeaters": "Újraküldők",
|
||||
"listFilter_roomServers": "Szoba-szolgálatok",
|
||||
"listFilter_activeChat": "Aktív chat",
|
||||
"listFilter_unreadOnly": "Csak olvasatlan",
|
||||
"listFilter_newGroup": "Új csoport",
|
||||
"pathTrace_you": "Te",
|
||||
|
|
|
|||
|
|
@ -1353,6 +1353,7 @@
|
|||
"listFilter_users": "Utenti",
|
||||
"listFilter_repeaters": "Ripetitori",
|
||||
"listFilter_roomServers": "Server della stanza",
|
||||
"listFilter_activeChat": "Chat attiva",
|
||||
"listFilter_unreadOnly": "Solo non letto",
|
||||
"listFilter_newGroup": "Nuovo gruppo",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -1706,6 +1706,7 @@
|
|||
"listFilter_users": "利用者",
|
||||
"listFilter_repeaters": "繰り返し送信装置",
|
||||
"listFilter_roomServers": "ルーム用サーバー",
|
||||
"listFilter_activeChat": "アクティブチャット",
|
||||
"listFilter_unreadOnly": "未読のみ",
|
||||
"listFilter_newGroup": "新しいグループ",
|
||||
"pathTrace_you": "あなた",
|
||||
|
|
|
|||
|
|
@ -1706,6 +1706,7 @@
|
|||
"listFilter_users": "사용자",
|
||||
"listFilter_repeaters": "다시 보내는 장치",
|
||||
"listFilter_roomServers": "방 내 서버",
|
||||
"listFilter_activeChat": "활성 채팅",
|
||||
"listFilter_unreadOnly": "읽지 않은 항목만",
|
||||
"listFilter_newGroup": "새로운 그룹",
|
||||
"pathTrace_you": "당신",
|
||||
|
|
|
|||
|
|
@ -5402,6 +5402,12 @@ abstract class AppLocalizations {
|
|||
/// **'Room servers'**
|
||||
String get listFilter_roomServers;
|
||||
|
||||
/// No description provided for @listFilter_activeChat.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Active chat'**
|
||||
String get listFilter_activeChat;
|
||||
|
||||
/// No description provided for @listFilter_unreadOnly.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -3094,6 +3094,9 @@ class AppLocalizationsBg extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Сървъри на стая';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Активен чат';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Само непрочетените';
|
||||
|
||||
|
|
|
|||
|
|
@ -3098,6 +3098,9 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Raumserver';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Aktiver Chat';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Nicht gelesen';
|
||||
|
||||
|
|
|
|||
|
|
@ -3039,6 +3039,9 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Room servers';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Active chat';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Unread only';
|
||||
|
||||
|
|
|
|||
|
|
@ -3091,6 +3091,9 @@ class AppLocalizationsEs extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Servidores de la sala';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Chat activo';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Solo sin leer';
|
||||
|
||||
|
|
|
|||
|
|
@ -3110,6 +3110,9 @@ class AppLocalizationsFr extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Room servers';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Chat actif';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Messages non lus seulement';
|
||||
|
||||
|
|
|
|||
|
|
@ -3105,6 +3105,9 @@ class AppLocalizationsHu extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Szoba-szolgálatok';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Aktív chat';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Csak olvasatlan';
|
||||
|
||||
|
|
|
|||
|
|
@ -3094,6 +3094,9 @@ class AppLocalizationsIt extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Server della stanza';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Chat attiva';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Solo non letto';
|
||||
|
||||
|
|
|
|||
|
|
@ -2953,6 +2953,9 @@ class AppLocalizationsJa extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'ルーム用サーバー';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'アクティブチャット';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => '未読のみ';
|
||||
|
||||
|
|
|
|||
|
|
@ -2953,6 +2953,9 @@ class AppLocalizationsKo extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => '방 내 서버';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => '활성 채팅';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => '읽지 않은 항목만';
|
||||
|
||||
|
|
|
|||
|
|
@ -3077,6 +3077,9 @@ class AppLocalizationsNl extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Roomservers';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Actieve chat';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Alleen ongelezen';
|
||||
|
||||
|
|
|
|||
|
|
@ -3103,6 +3103,9 @@ class AppLocalizationsPl extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Serwery pokoju';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Aktywny czat';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Tylko nieprzeczytane';
|
||||
|
||||
|
|
|
|||
|
|
@ -3092,6 +3092,9 @@ class AppLocalizationsPt extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Servidores de sala';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Chat ativo';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Apenas não lido';
|
||||
|
||||
|
|
|
|||
|
|
@ -3097,6 +3097,9 @@ class AppLocalizationsRu extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Серверы комнат';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Активный чат';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Только непрочитанные';
|
||||
|
||||
|
|
|
|||
|
|
@ -3072,6 +3072,9 @@ class AppLocalizationsSk extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Servéry miestnosti';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Aktívny chat';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Nezaregistrované len';
|
||||
|
||||
|
|
|
|||
|
|
@ -3073,6 +3073,9 @@ class AppLocalizationsSl extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Smeti za prostore';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Aktivni klepet';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Nezbrani samo';
|
||||
|
||||
|
|
|
|||
|
|
@ -3057,6 +3057,9 @@ class AppLocalizationsSv extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Rumservrar';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Aktiv chatt';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Endast oinlästa';
|
||||
|
||||
|
|
|
|||
|
|
@ -3099,6 +3099,9 @@ class AppLocalizationsUk extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => 'Сервери кімнат';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => 'Активний чат';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => 'Тільки непрочитані повідомлення';
|
||||
|
||||
|
|
|
|||
|
|
@ -2878,6 +2878,9 @@ class AppLocalizationsZh extends AppLocalizations {
|
|||
@override
|
||||
String get listFilter_roomServers => '房间服务器';
|
||||
|
||||
@override
|
||||
String get listFilter_activeChat => '活跃聊天';
|
||||
|
||||
@override
|
||||
String get listFilter_unreadOnly => '仅显示未读';
|
||||
|
||||
|
|
|
|||
|
|
@ -1353,6 +1353,7 @@
|
|||
"listFilter_users": "Gebruikers",
|
||||
"listFilter_repeaters": "Repeaters",
|
||||
"listFilter_roomServers": "Roomservers",
|
||||
"listFilter_activeChat": "Actieve chat",
|
||||
"listFilter_unreadOnly": "Alleen ongelezen",
|
||||
"listFilter_newGroup": "Nieuwe groep",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -1363,6 +1363,7 @@
|
|||
"listFilter_users": "Użytkownicy",
|
||||
"listFilter_repeaters": "Przekaźniki",
|
||||
"listFilter_roomServers": "Serwery pokoju",
|
||||
"listFilter_activeChat": "Aktywny czat",
|
||||
"listFilter_unreadOnly": "Tylko nieprzeczytane",
|
||||
"listFilter_newGroup": "Nowa grupa",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -1353,6 +1353,7 @@
|
|||
"listFilter_users": "Usuários",
|
||||
"listFilter_repeaters": "Repetidores",
|
||||
"listFilter_roomServers": "Servidores de sala",
|
||||
"listFilter_activeChat": "Chat ativo",
|
||||
"listFilter_unreadOnly": "Apenas não lido",
|
||||
"listFilter_newGroup": "Novo grupo",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -759,6 +759,7 @@
|
|||
"listFilter_users": "Пользователи",
|
||||
"listFilter_repeaters": "Репитеры",
|
||||
"listFilter_roomServers": "Серверы комнат",
|
||||
"listFilter_activeChat": "Активный чат",
|
||||
"listFilter_unreadOnly": "Только непрочитанные",
|
||||
"listFilter_newGroup": "Новая группа",
|
||||
"@chat_couldNotOpenLink": {
|
||||
|
|
|
|||
|
|
@ -1353,6 +1353,7 @@
|
|||
"listFilter_users": "Používatelia",
|
||||
"listFilter_repeaters": "Opakovadlá",
|
||||
"listFilter_roomServers": "Servéry miestnosti",
|
||||
"listFilter_activeChat": "Aktívny chat",
|
||||
"listFilter_unreadOnly": "Nezaregistrované len",
|
||||
"listFilter_newGroup": "Nová skupina",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -1353,6 +1353,7 @@
|
|||
"listFilter_users": "Uporabniki",
|
||||
"listFilter_repeaters": "Ponovitve",
|
||||
"listFilter_roomServers": "Smeti za prostore",
|
||||
"listFilter_activeChat": "Aktivni klepet",
|
||||
"listFilter_unreadOnly": "Nezbrani samo",
|
||||
"listFilter_newGroup": "Nova skupina",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -1353,6 +1353,7 @@
|
|||
"listFilter_users": "Användare",
|
||||
"listFilter_repeaters": "Upprepare",
|
||||
"listFilter_roomServers": "Rumservrar",
|
||||
"listFilter_activeChat": "Aktiv chatt",
|
||||
"listFilter_unreadOnly": "Endast oinlästa",
|
||||
"listFilter_newGroup": "Ny grupp",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -1354,6 +1354,7 @@
|
|||
"listFilter_users": "Користувачі",
|
||||
"listFilter_repeaters": "Ретранслятори",
|
||||
"listFilter_roomServers": "Сервери кімнат",
|
||||
"listFilter_activeChat": "Активний чат",
|
||||
"listFilter_unreadOnly": "Тільки непрочитані повідомлення",
|
||||
"listFilter_newGroup": "Нова група",
|
||||
"@neighbors_errorLoading": {
|
||||
|
|
|
|||
|
|
@ -1547,6 +1547,7 @@
|
|||
"listFilter_users": "用户",
|
||||
"listFilter_repeaters": "转发节点",
|
||||
"listFilter_roomServers": "房间服务器",
|
||||
"listFilter_activeChat": "活跃聊天",
|
||||
"listFilter_unreadOnly": "仅显示未读",
|
||||
"listFilter_newGroup": "新建群聊",
|
||||
"pathTrace_you": "我自己",
|
||||
|
|
|
|||
|
|
@ -672,6 +672,14 @@ class _ContactsScreenState extends State<ContactsScreen>
|
|||
: "",
|
||||
);
|
||||
break;
|
||||
case ContactTypeFilter.activeChat:
|
||||
hintText = context.l10n.contacts_searchContacts(
|
||||
filteredAndSorted.length,
|
||||
viewState.contactsShowUnreadOnly
|
||||
? " ${context.l10n.contacts_unread}"
|
||||
: "",
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
final groupsByName = <String, ContactGroup>{};
|
||||
|
|
@ -682,14 +690,11 @@ class _ContactsScreenState extends State<ContactsScreen>
|
|||
..sort((a, b) => a.name.toLowerCase().compareTo(b.name.toLowerCase()));
|
||||
|
||||
final screenWidth = MediaQuery.sizeOf(context).width;
|
||||
final searchExpandedWidth = (screenWidth * 0.52).clamp(
|
||||
final searchExpandedWidth = (screenWidth * 0.72).clamp(
|
||||
97.0,
|
||||
double.infinity,
|
||||
); // allow expansion up to 52% of screen width, but not less than the collapsed width
|
||||
final searchCollapsedWidth = (screenWidth * 0.22).clamp(
|
||||
97.0,
|
||||
120.0,
|
||||
); //two 48px icon buttons + 1px divider
|
||||
); // allow expansion up to 72% of screen width, but not less than the collapsed width
|
||||
final searchCollapsedWidth = 97.0; //two 48px icon buttons + 1px divider
|
||||
|
||||
return Column(
|
||||
children: [
|
||||
|
|
@ -860,8 +865,11 @@ class _ContactsScreenState extends State<ContactsScreen>
|
|||
if (viewState.contactsTypeFilter != ContactTypeFilter.all) {
|
||||
filtered = filtered
|
||||
.where(
|
||||
(contact) =>
|
||||
_matchesTypeFilter(contact, viewState.contactsTypeFilter),
|
||||
(contact) => _matchesTypeFilter(
|
||||
contact,
|
||||
viewState.contactsTypeFilter,
|
||||
connector,
|
||||
),
|
||||
)
|
||||
.toList();
|
||||
}
|
||||
|
|
@ -901,7 +909,11 @@ class _ContactsScreenState extends State<ContactsScreen>
|
|||
return filtered;
|
||||
}
|
||||
|
||||
bool _matchesTypeFilter(Contact contact, ContactTypeFilter typeFilter) {
|
||||
bool _matchesTypeFilter(
|
||||
Contact contact,
|
||||
ContactTypeFilter typeFilter,
|
||||
MeshCoreConnector connector,
|
||||
) {
|
||||
switch (typeFilter) {
|
||||
case ContactTypeFilter.all:
|
||||
return true;
|
||||
|
|
@ -913,6 +925,8 @@ class _ContactsScreenState extends State<ContactsScreen>
|
|||
return contact.type == advTypeRepeater;
|
||||
case ContactTypeFilter.rooms:
|
||||
return contact.type == advTypeRoom;
|
||||
case ContactTypeFilter.activeChat:
|
||||
return connector.getMessages(contact).isNotEmpty;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -306,6 +306,12 @@ class _DiscoveryScreenState extends State<DiscoveryScreen> {
|
|||
showUnreadOnly ? " ${context.l10n.contacts_unread}" : "",
|
||||
);
|
||||
break;
|
||||
case ContactTypeFilter.activeChat:
|
||||
hintText = context.l10n.contacts_searchContacts(
|
||||
filteredAndSorted.length,
|
||||
showUnreadOnly ? " ${context.l10n.contacts_unread}" : "",
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
return Column(
|
||||
|
|
@ -424,6 +430,8 @@ class _DiscoveryScreenState extends State<DiscoveryScreen> {
|
|||
return contact.type == advTypeRepeater;
|
||||
case ContactTypeFilter.rooms:
|
||||
return contact.type == advTypeRoom;
|
||||
case ContactTypeFilter.activeChat:
|
||||
return false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,8 +57,9 @@ class UiViewStateService extends ChangeNotifier {
|
|||
|
||||
final typeStr = prefs.getString(_keyContactsTypeFilter);
|
||||
if (typeStr != null) {
|
||||
final normalizedTypeStr = typeStr == 'chat' ? 'activeChat' : typeStr;
|
||||
_contactsTypeFilter = ContactTypeFilter.values.firstWhere(
|
||||
(e) => e.name == typeStr,
|
||||
(e) => e.name == normalizedTypeStr,
|
||||
orElse: () => ContactTypeFilter.all,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
enum ContactSortOption { lastSeen, recentMessages, name }
|
||||
|
||||
enum ContactTypeFilter { all, favorites, users, repeaters, rooms }
|
||||
enum ContactTypeFilter { all, favorites, users, repeaters, rooms, activeChat }
|
||||
|
|
|
|||
|
|
@ -157,6 +157,11 @@ class ContactsFilterMenu extends StatelessWidget {
|
|||
label: l10n.listFilter_all,
|
||||
checked: typeFilter == ContactTypeFilter.all,
|
||||
),
|
||||
SortFilterMenuOption(
|
||||
value: _TypeFilterAction(ContactTypeFilter.activeChat),
|
||||
label: l10n.listFilter_activeChat,
|
||||
checked: typeFilter == ContactTypeFilter.activeChat,
|
||||
),
|
||||
SortFilterMenuOption(
|
||||
value: _TypeFilterAction(ContactTypeFilter.favorites),
|
||||
label: l10n.listFilter_favorites,
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import flutter_blue_plus_darwin
|
|||
import flutter_local_notifications
|
||||
import mobile_scanner
|
||||
import package_info_plus
|
||||
import path_provider_foundation
|
||||
import share_plus
|
||||
import shared_preferences_foundation
|
||||
import sqflite_darwin
|
||||
|
|
@ -19,6 +20,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
|||
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
|
||||
MobileScannerPlugin.register(with: registry.registrar(forPlugin: "MobileScannerPlugin"))
|
||||
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
|
||||
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
|
||||
SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin"))
|
||||
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
|
||||
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue