From 09e9a30eefb06bdc54a914d7c8911d22a0eab09f Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sat, 22 Jun 2024 22:39:32 +0800 Subject: [PATCH] :art: Improve code structure --- lib/providers/account.dart | 4 ++-- lib/providers/auth.dart | 11 ++++------- lib/providers/content/attachment.dart | 4 ++-- lib/providers/content/call.dart | 2 +- lib/providers/content/channel.dart | 16 ++++++++-------- lib/providers/content/realm.dart | 4 ++-- lib/screens/account/notification.dart | 4 ++-- lib/screens/account/personalize.dart | 4 ++-- lib/screens/channel/channel_chat.dart | 2 +- lib/screens/channel/channel_detail.dart | 2 +- lib/screens/posts/post_publish.dart | 2 +- lib/screens/realms/realm_organize.dart | 2 +- lib/widgets/channel/channel_deletion.dart | 4 ++-- lib/widgets/channel/channel_member.dart | 4 ++-- lib/widgets/chat/call/chat_call_action.dart | 4 ++-- lib/widgets/chat/chat_message_deletion.dart | 2 +- lib/widgets/chat/chat_message_input.dart | 2 +- lib/widgets/posts/post_action.dart | 2 +- lib/widgets/posts/post_quick_action.dart | 2 +- lib/widgets/realms/realm_deletion.dart | 4 ++-- lib/widgets/realms/realm_member.dart | 4 ++-- linux/flutter/generated_plugin_registrant.cc | 4 ++++ linux/flutter/generated_plugins.cmake | 1 + macos/Flutter/GeneratedPluginRegistrant.swift | 2 ++ pubspec.lock | 16 ++++++++++++++++ pubspec.yaml | 1 + windows/flutter/generated_plugin_registrant.cc | 3 +++ windows/flutter/generated_plugins.cmake | 1 + 28 files changed, 69 insertions(+), 44 deletions(-) diff --git a/lib/providers/account.dart b/lib/providers/account.dart index c66c61b..322eb8d 100644 --- a/lib/providers/account.dart +++ b/lib/providers/account.dart @@ -164,7 +164,7 @@ class AccountProvider extends GetxController { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) return; - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); final resp = await client.get('/api/notifications?skip=0&take=100'); if (resp.statusCode == 200) { @@ -197,7 +197,7 @@ class AccountProvider extends GetxController { token = await FirebaseMessaging.instance.getToken(); } - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); final resp = await client.post('/api/notifications/subscribe', { 'provider': provider, diff --git a/lib/providers/auth.dart b/lib/providers/auth.dart index 96a0cd7..deec081 100644 --- a/lib/providers/auth.dart +++ b/lib/providers/auth.dart @@ -58,8 +58,8 @@ class AuthProvider extends GetConnect { return request; } - GetConnect configureClient({ - String? service, + GetConnect configureClient( + String service, { timeout = const Duration(seconds: 5), }) { final client = GetConnect( @@ -68,10 +68,7 @@ class AuthProvider extends GetConnect { allowAutoSignedCert: true, ); client.httpClient.addAuthenticator(requestAuthenticator); - - if (service != null) { - client.httpClient.baseUrl = ServiceFinder.services[service]; - } + client.httpClient.baseUrl = ServiceFinder.services[service]; return client; } @@ -152,7 +149,7 @@ class AuthProvider extends GetConnect { return _cachedUserProfileResponse!; } - final client = configureClient(service: 'passport'); + final client = configureClient('passport'); final resp = await client.get('/api/users/me'); if (resp.statusCode != 200) { diff --git a/lib/providers/content/attachment.dart b/lib/providers/content/attachment.dart index 372972b..d9f4ad3 100644 --- a/lib/providers/content/attachment.dart +++ b/lib/providers/content/attachment.dart @@ -97,7 +97,7 @@ class AttachmentProvider extends GetConnect { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'paperclip'); + final client = auth.configureClient('paperclip'); var resp = await client.put('/api/attachments/$id', { 'metadata': { @@ -119,7 +119,7 @@ class AttachmentProvider extends GetConnect { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'paperclip'); + final client = auth.configureClient('paperclip'); var resp = await client.delete('/api/attachments/$id'); if (resp.statusCode != 200) { diff --git a/lib/providers/content/call.dart b/lib/providers/content/call.dart index a78841c..e243487 100644 --- a/lib/providers/content/call.dart +++ b/lib/providers/content/call.dart @@ -57,7 +57,7 @@ class ChatCallProvider extends GetxController { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.post( '/api/channels/global/${channel.value!.alias}/calls/ongoing/token', diff --git a/lib/providers/content/channel.dart b/lib/providers/content/channel.dart index b99546c..23fb16f 100644 --- a/lib/providers/content/channel.dart +++ b/lib/providers/content/channel.dart @@ -9,7 +9,7 @@ class ChannelProvider extends GetxController { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.get('/api/channels/$realm/$alias'); if (resp.statusCode != 200) { @@ -23,7 +23,7 @@ class ChannelProvider extends GetxController { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.get('/api/channels/$realm/$alias/me'); if (resp.statusCode != 200) { @@ -38,7 +38,7 @@ class ChannelProvider extends GetxController { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.get('/api/channels/$realm/$alias/calls/ongoing'); if (resp.statusCode == 404) { @@ -54,7 +54,7 @@ class ChannelProvider extends GetxController { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.get('/api/channels/$scope'); if (resp.statusCode != 200) { @@ -68,7 +68,7 @@ class ChannelProvider extends GetxController { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.get('/api/channels/$realm/me/available'); if (resp.statusCode != 200) { @@ -82,7 +82,7 @@ class ChannelProvider extends GetxController { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.post('/api/channels/$scope', payload); if (resp.statusCode != 200) { @@ -107,7 +107,7 @@ class ChannelProvider extends GetxController { if (related == null) return null; final prof = await auth.getProfile(); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.post('/api/channels/$scope/dm', { 'alias': const Uuid().v4().replaceAll('-', '').substring(0, 12), @@ -128,7 +128,7 @@ class ChannelProvider extends GetxController { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.put('/api/channels/$scope/$id', payload); if (resp.statusCode != 200) { diff --git a/lib/providers/content/realm.dart b/lib/providers/content/realm.dart index b140f68..3886597 100644 --- a/lib/providers/content/realm.dart +++ b/lib/providers/content/realm.dart @@ -6,7 +6,7 @@ class RealmProvider extends GetxController { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); final resp = await client.get('/api/realms/$alias'); if (resp.statusCode != 200) { @@ -20,7 +20,7 @@ class RealmProvider extends GetxController { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) throw Exception('unauthorized'); - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); final resp = await client.get('/api/realms/me/available'); if (resp.statusCode != 200) { diff --git a/lib/screens/account/notification.dart b/lib/screens/account/notification.dart index 4700f9a..a0a0ba5 100644 --- a/lib/screens/account/notification.dart +++ b/lib/screens/account/notification.dart @@ -32,7 +32,7 @@ class _NotificationScreenState extends State { } if (markList.isNotEmpty) { - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); await client.put('/api/notifications/batch/read', {'messages': markList}); } @@ -54,7 +54,7 @@ class _NotificationScreenState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); await client.put('/api/notifications/${element.id}/read', {}); diff --git a/lib/screens/account/personalize.dart b/lib/screens/account/personalize.dart index e9e5512..740fb77 100644 --- a/lib/screens/account/personalize.dart +++ b/lib/screens/account/personalize.dart @@ -98,7 +98,7 @@ class _PersonalizeScreenState extends State { context.showErrorDialog(e); } - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); final resp = await client.put( '/api/users/me/$position', @@ -120,7 +120,7 @@ class _PersonalizeScreenState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); _birthday?.toIso8601String(); final resp = await client.put( diff --git a/lib/screens/channel/channel_chat.dart b/lib/screens/channel/channel_chat.dart index ee1e55c..b8f41a7 100644 --- a/lib/screens/channel/channel_chat.dart +++ b/lib/screens/channel/channel_chat.dart @@ -110,7 +110,7 @@ class _ChannelChatScreenState extends State { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) return; - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.get( '/api/channels/${widget.realm}/${widget.alias}/messages?take=10&offset=$pageKey'); diff --git a/lib/screens/channel/channel_detail.dart b/lib/screens/channel/channel_detail.dart index c93fb67..c409261 100644 --- a/lib/screens/channel/channel_detail.dart +++ b/lib/screens/channel/channel_detail.dart @@ -79,7 +79,7 @@ class _ChannelDetailScreenState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.put( '/api/channels/${widget.realm}/${widget.channel.alias}/members/me', { diff --git a/lib/screens/posts/post_publish.dart b/lib/screens/posts/post_publish.dart index df3b73e..b04d183 100644 --- a/lib/screens/posts/post_publish.dart +++ b/lib/screens/posts/post_publish.dart @@ -64,7 +64,7 @@ class _PostPublishingScreenState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'interactive'); + final client = auth.configureClient('interactive'); final payload = { 'content': _contentController.value.text, diff --git a/lib/screens/realms/realm_organize.dart b/lib/screens/realms/realm_organize.dart index c7f1d42..1bc3002 100644 --- a/lib/screens/realms/realm_organize.dart +++ b/lib/screens/realms/realm_organize.dart @@ -41,7 +41,7 @@ class _RealmOrganizeScreenState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); final payload = { 'alias': _aliasController.value.text.toLowerCase(), diff --git a/lib/widgets/channel/channel_deletion.dart b/lib/widgets/channel/channel_deletion.dart index 7235e35..98860b1 100644 --- a/lib/widgets/channel/channel_deletion.dart +++ b/lib/widgets/channel/channel_deletion.dart @@ -29,7 +29,7 @@ class _ChannelDeletionDialogState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client .delete('/api/channels/${widget.realm}/${widget.channel.id}'); @@ -48,7 +48,7 @@ class _ChannelDeletionDialogState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.delete( '/api/channels/${widget.realm}/${widget.channel.alias}/members/me', diff --git a/lib/widgets/channel/channel_member.dart b/lib/widgets/channel/channel_member.dart index 970c45a..7861f54 100644 --- a/lib/widgets/channel/channel_member.dart +++ b/lib/widgets/channel/channel_member.dart @@ -75,7 +75,7 @@ class _ChannelMemberListPopupState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.post( '/api/channels/${widget.realm}/${widget.channel.alias}/members', @@ -96,7 +96,7 @@ class _ChannelMemberListPopupState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final resp = await client.request( '/api/channels/${widget.realm}/${widget.channel.alias}/members', diff --git a/lib/widgets/chat/call/chat_call_action.dart b/lib/widgets/chat/call/chat_call_action.dart index 8f28f39..dc6acfb 100644 --- a/lib/widgets/chat/call/chat_call_action.dart +++ b/lib/widgets/chat/call/chat_call_action.dart @@ -33,7 +33,7 @@ class _ChatCallButtonState extends State { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) return; - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); setState(() => _isBusy = true); @@ -57,7 +57,7 @@ class _ChatCallButtonState extends State { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) return; - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); setState(() => _isBusy = true); diff --git a/lib/widgets/chat/chat_message_deletion.dart b/lib/widgets/chat/chat_message_deletion.dart index 19cd12f..9179918 100644 --- a/lib/widgets/chat/chat_message_deletion.dart +++ b/lib/widgets/chat/chat_message_deletion.dart @@ -30,7 +30,7 @@ class _ChatMessageDeletionDialogState extends State { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) return; - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); setState(() => _isBusy = true); diff --git a/lib/widgets/chat/chat_message_input.dart b/lib/widgets/chat/chat_message_input.dart index 57cad53..50d96eb 100644 --- a/lib/widgets/chat/chat_message_input.dart +++ b/lib/widgets/chat/chat_message_input.dart @@ -69,7 +69,7 @@ class _ChatMessageInputState extends State { final prof = await auth.getProfile(); if (!await auth.isAuthorized) return; - final client = auth.configureClient(service: 'messaging'); + final client = auth.configureClient('messaging'); final payload = { 'uuid': const Uuid().v4(), diff --git a/lib/widgets/posts/post_action.dart b/lib/widgets/posts/post_action.dart index ebba45b..7cbbe72 100644 --- a/lib/widgets/posts/post_action.dart +++ b/lib/widgets/posts/post_action.dart @@ -153,7 +153,7 @@ class _PostDeletionDialogState extends State { final AuthProvider auth = Get.find(); if (!await auth.isAuthorized) return; - final client = auth.configureClient(service: 'interactive'); + final client = auth.configureClient('interactive'); setState(() => _isBusy = true); final resp = await client.delete('/api/posts/${widget.item.id}'); diff --git a/lib/widgets/posts/post_quick_action.dart b/lib/widgets/posts/post_quick_action.dart index bfa88be..35279c5 100644 --- a/lib/widgets/posts/post_quick_action.dart +++ b/lib/widgets/posts/post_quick_action.dart @@ -50,7 +50,7 @@ class _PostQuickActionState extends State { if (_isSubmitting) return; if (!await auth.isAuthorized) return; - final client = auth.configureClient(service: 'interactive'); + final client = auth.configureClient('interactive'); setState(() => _isSubmitting = true); diff --git a/lib/widgets/realms/realm_deletion.dart b/lib/widgets/realms/realm_deletion.dart index becae65..146fdf5 100644 --- a/lib/widgets/realms/realm_deletion.dart +++ b/lib/widgets/realms/realm_deletion.dart @@ -27,7 +27,7 @@ class _RealmDeletionDialogState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); final resp = await client.delete('/api/realms/${widget.realm.id}'); if (resp.statusCode != 200) { @@ -45,7 +45,7 @@ class _RealmDeletionDialogState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); final resp = await client.delete('/api/realms/${widget.realm.id}/members/me'); diff --git a/lib/widgets/realms/realm_member.dart b/lib/widgets/realms/realm_member.dart index 21c3d10..f5eba59 100644 --- a/lib/widgets/realms/realm_member.dart +++ b/lib/widgets/realms/realm_member.dart @@ -72,7 +72,7 @@ class _RealmMemberListPopupState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); final resp = await client.post( '/api/realms/${widget.realm.alias}/members', @@ -93,7 +93,7 @@ class _RealmMemberListPopupState extends State { setState(() => _isBusy = true); - final client = auth.configureClient(service: 'passport'); + final client = auth.configureClient('passport'); final resp = await client.request( '/api/realms/${widget.realm.alias}/members', diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index c5ec9f0..5e3b875 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -7,6 +7,7 @@ #include "generated_plugin_registrant.h" #include +#include #include #include #include @@ -16,6 +17,9 @@ void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); file_selector_plugin_register_with_registrar(file_selector_linux_registrar); + g_autoptr(FlPluginRegistrar) flutter_acrylic_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterAcrylicPlugin"); + flutter_acrylic_plugin_register_with_registrar(flutter_acrylic_registrar); g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin"); flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 1faa6d7..1de66cc 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -4,6 +4,7 @@ list(APPEND FLUTTER_PLUGIN_LIST file_selector_linux + flutter_acrylic flutter_secure_storage_linux flutter_webrtc sentry_flutter diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 5c6436f..8533f31 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -14,6 +14,7 @@ import flutter_local_notifications import flutter_secure_storage_macos import flutter_webrtc import livekit_client +import macos_window_utils import package_info_plus import path_provider_foundation import sentry_flutter @@ -33,6 +34,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) FlutterWebRTCPlugin.register(with: registry.registrar(forPlugin: "FlutterWebRTCPlugin")) LiveKitPlugin.register(with: registry.registrar(forPlugin: "LiveKitPlugin")) + MacOSWindowUtilsPlugin.register(with: registry.registrar(forPlugin: "MacOSWindowUtilsPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) SentryFlutterPlugin.register(with: registry.registrar(forPlugin: "SentryFlutterPlugin")) diff --git a/pubspec.lock b/pubspec.lock index 7253de1..e1e1f70 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -334,6 +334,14 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_acrylic: + dependency: "direct main" + description: + name: flutter_acrylic + sha256: b3996dbde5abf5823cc9ead4cf2e5267c3181f15585fe47ce4dc4472e7ec827a + url: "https://pub.dev" + source: hosted + version: "1.1.4" flutter_animate: dependency: "direct main" description: @@ -688,6 +696,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + macos_window_utils: + dependency: transitive + description: + name: macos_window_utils + sha256: "230be594d26f6dee92c5a1544f4242d25138a5bfb9f185b27f14de3949ef0be8" + url: "https://pub.dev" + source: hosted + version: "1.5.0" markdown: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index b6f9946..5e8ca1b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -69,6 +69,7 @@ dependencies: package_info_plus: ^8.0.0 device_info_plus: ^10.1.0 shared_preferences: ^2.2.3 + flutter_acrylic: ^1.1.4 dev_dependencies: flutter_test: diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 1226b42..be22261 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -24,6 +25,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("FileSelectorWindows")); FirebaseCorePluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("FirebaseCorePluginCApi")); + FlutterAcrylicPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("FlutterAcrylicPlugin")); FlutterSecureStorageWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); FlutterWebRTCPluginRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 2ad7592..ea7f67e 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST connectivity_plus file_selector_windows firebase_core + flutter_acrylic flutter_secure_storage_windows flutter_webrtc livekit_client