mirror of
https://gitlab.com/famedly/fluffychat.git
synced 2025-01-11 10:12:49 +01:00
Merge branch 'krille/upgrade-flutter-3' into 'main'
refactor: Upgrade to Flutter 3.0.0 See merge request famedly/fluffychat!867
This commit is contained in:
commit
ec0b21c699
@ -1,5 +1,5 @@
|
||||
variables:
|
||||
FLUTTER_VERSION: 2.10.5
|
||||
FLUTTER_VERSION: 3.0.0
|
||||
|
||||
image: cirrusci/flutter:${FLUTTER_VERSION}
|
||||
|
||||
@ -303,7 +303,6 @@ upload-linux-arm64:
|
||||
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file appimage/FluffyChat-arm64.AppImage ${PACKAGE_REGISTRY_URL}/FluffyChat-arm64.AppImage
|
||||
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file appimage/FluffyChat-arm64.AppImage.zsync ${PACKAGE_REGISTRY_URL}/FluffyChat-arm64.AppImage.zsync
|
||||
|
||||
|
||||
upload-windows:
|
||||
extends: .release
|
||||
image: alpine:latest
|
||||
|
41
.metadata
41
.metadata
@ -1,10 +1,45 @@
|
||||
# This file tracks properties of this Flutter project.
|
||||
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
||||
#
|
||||
# This file should be version controlled and should not be manually edited.
|
||||
# This file should be version controlled.
|
||||
|
||||
version:
|
||||
revision: 657830b4c77aecfd0e32ec6504c859213dded97a
|
||||
channel: master
|
||||
revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
channel: stable
|
||||
|
||||
project_type: app
|
||||
|
||||
# Tracks metadata for the flutter migrate command
|
||||
migration:
|
||||
platforms:
|
||||
- platform: root
|
||||
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
- platform: android
|
||||
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
- platform: ios
|
||||
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
- platform: linux
|
||||
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
- platform: macos
|
||||
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
- platform: web
|
||||
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
- platform: windows
|
||||
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||
|
||||
# User provided section
|
||||
|
||||
# List of Local paths (relative to this file) that should be
|
||||
# ignored by the migrate tool.
|
||||
#
|
||||
# Files that are not part of the templates will be ignored by default.
|
||||
unmanaged_files:
|
||||
- 'lib/main.dart'
|
||||
- 'ios/Runner.xcodeproj/project.pbxproj'
|
||||
|
@ -28,7 +28,6 @@
|
||||
tools:overrideLibrary="io.wazo.callkeep, net.touchcapture.qr.flutterqr, com.cloudwebrtc.webrtc, org.webrtc, com.it_nomads.fluttersecurestorage, com.pichillilorenzo.flutter_inappwebview, com.example.video_compress, com.otaliastudios.transcoder, com.otaliastudios.opengl, com.kineapps.flutter_file_dialog"/>
|
||||
|
||||
<application
|
||||
android:name=".Application"
|
||||
android:label="FluffyChat"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:requestLegacyExternalStorage="true"
|
||||
|
@ -1,17 +0,0 @@
|
||||
package chat.fluffy.fluffychat
|
||||
|
||||
import io.flutter.app.FlutterApplication
|
||||
import io.flutter.plugin.common.PluginRegistry
|
||||
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
|
||||
import io.flutter.view.FlutterMain
|
||||
|
||||
class Application : FlutterApplication(), PluginRegistrantCallback {
|
||||
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
FlutterMain.startInitialization(this)
|
||||
}
|
||||
|
||||
override fun registerWith(registry: PluginRegistry?) {
|
||||
}
|
||||
}
|
@ -8,7 +8,6 @@ import 'package:adaptive_theme/adaptive_theme.dart';
|
||||
import 'package:flutter_app_lock/flutter_app_lock.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:gaeilge_flutter_l10n/gaeilge_flutter_l10n.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:universal_html/html.dart' as html;
|
||||
import 'package:vrouter/vrouter.dart';
|
||||
@ -114,7 +113,7 @@ class _FluffyChatAppState extends State<FluffyChatApp> {
|
||||
_router ??= GlobalKey<VRouterState>();
|
||||
if (columnMode != newColumns > 1) {
|
||||
Logs().v('Set Column Mode = $columnMode');
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
setState(() {
|
||||
_initialUrl = _router?.currentState?.url;
|
||||
columnMode = newColumns > 1;
|
||||
@ -131,7 +130,6 @@ class _FluffyChatAppState extends State<FluffyChatApp> {
|
||||
darkTheme: darkTheme,
|
||||
localizationsDelegates: const [
|
||||
...L10n.localizationsDelegates,
|
||||
GaMaterialLocalizations.delegate
|
||||
],
|
||||
supportedLocales: L10n.supportedLocales,
|
||||
initialUrl: _initialUrl ?? '/',
|
||||
@ -141,7 +139,7 @@ class _FluffyChatAppState extends State<FluffyChatApp> {
|
||||
LoadingDialog.defaultBackLabel = L10n.of(context)!.close;
|
||||
LoadingDialog.defaultOnError =
|
||||
(e) => (e as Object?)!.toLocalizedString(context);
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
SystemChrome.setSystemUIOverlayStyle(
|
||||
SystemUiOverlayStyle(
|
||||
statusBarColor: Colors.transparent,
|
||||
|
@ -147,27 +147,27 @@ class _BootstrapDialogState extends State<BootstrapDialog> {
|
||||
case BootstrapState.loading:
|
||||
break;
|
||||
case BootstrapState.askWipeSsss:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.wipeSsss(_wipe!),
|
||||
);
|
||||
break;
|
||||
case BootstrapState.askBadSsss:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.ignoreBadSecrets(true),
|
||||
);
|
||||
break;
|
||||
case BootstrapState.askUseExistingSsss:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.useExistingSsss(!_wipe!),
|
||||
);
|
||||
break;
|
||||
case BootstrapState.askUnlockSsss:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.unlockedSsss(),
|
||||
);
|
||||
break;
|
||||
case BootstrapState.askNewSsss:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.newSsss(),
|
||||
);
|
||||
break;
|
||||
@ -312,12 +312,12 @@ class _BootstrapDialogState extends State<BootstrapDialog> {
|
||||
),
|
||||
);
|
||||
case BootstrapState.askWipeCrossSigning:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.wipeCrossSigning(_wipe!),
|
||||
);
|
||||
break;
|
||||
case BootstrapState.askSetupCrossSigning:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.askSetupCrossSigning(
|
||||
setupMasterKey: true,
|
||||
setupSelfSigningKey: true,
|
||||
@ -326,13 +326,13 @@ class _BootstrapDialogState extends State<BootstrapDialog> {
|
||||
);
|
||||
break;
|
||||
case BootstrapState.askWipeOnlineKeyBackup:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.wipeOnlineKeyBackup(_wipe!),
|
||||
);
|
||||
|
||||
break;
|
||||
case BootstrapState.askSetupOnlineKeyBackup:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.askSetupOnlineKeyBackup(true),
|
||||
);
|
||||
break;
|
||||
|
@ -171,7 +171,7 @@ class ChatController extends State<Chat> {
|
||||
final voipPlugin = Matrix.of(context).voipPlugin;
|
||||
|
||||
if (voipPlugin != null) {
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
CallKeepManager().setVoipPlugin(voipPlugin);
|
||||
CallKeepManager().initialize().catchError((_) => true);
|
||||
});
|
||||
@ -210,7 +210,7 @@ class ChatController extends State<Chat> {
|
||||
// when the scroll controller is attached we want to scroll to an event id, if specified
|
||||
// and update the scroll controller...which will trigger a request history, if the
|
||||
// "load more" button is visible on the screen
|
||||
SchedulerBinding.instance!.addPostFrameCallback((_) async {
|
||||
SchedulerBinding.instance.addPostFrameCallback((_) async {
|
||||
if (mounted) {
|
||||
final event = VRouter.of(context).queryParameters['event'];
|
||||
if (event != null) {
|
||||
|
@ -91,7 +91,7 @@ class _ImageBubbleState extends State<ImageBubble> {
|
||||
try {
|
||||
final res = await widget.event
|
||||
.downloadAndDecryptAttachmentCached(getThumbnail: getThumbnail);
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (getThumbnail) {
|
||||
if (mounted) {
|
||||
setState(() => _thumbnail = res);
|
||||
@ -106,7 +106,7 @@ class _ImageBubbleState extends State<ImageBubble> {
|
||||
}
|
||||
});
|
||||
} catch (err) {
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (mounted) {
|
||||
setState(() => _error = err);
|
||||
}
|
||||
@ -278,7 +278,7 @@ class _ImageBubbleState extends State<ImageBubble> {
|
||||
errorBuilder: (context, error, stacktrace) {
|
||||
if (widget.event.hasThumbnail && !_requestedThumbnailOnFailure) {
|
||||
_requestedThumbnailOnFailure = true;
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
setState(() {
|
||||
_file = null;
|
||||
_requestFile(getThumbnail: true);
|
||||
@ -352,7 +352,7 @@ class _ImageBubbleState extends State<ImageBubble> {
|
||||
// the image failed to load but the event has a thumbnail attached....so we can
|
||||
// try to load this one!
|
||||
_requestedThumbnailOnFailure = true;
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
setState(() {
|
||||
thumbnailUrl = widget.event
|
||||
.getAttachmentUrl(
|
||||
|
@ -26,6 +26,7 @@ import '../../widgets/matrix.dart';
|
||||
import '../bootstrap/bootstrap_dialog.dart';
|
||||
|
||||
enum SelectMode { normal, share, select }
|
||||
|
||||
enum PopupMenuAction {
|
||||
settings,
|
||||
invite,
|
||||
@ -171,7 +172,7 @@ class ChatListController extends State<ChatList> with TickerProviderStateMixin {
|
||||
void _processIncomingUris(String? text) async {
|
||||
if (text == null) return;
|
||||
VRouter.of(context).to('/rooms');
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
UrlLauncher(context, text).openMatrixToUrl();
|
||||
});
|
||||
}
|
||||
@ -475,7 +476,7 @@ class ChatListController extends State<ChatList> with TickerProviderStateMixin {
|
||||
setState(() {
|
||||
waitForFirstSync = true;
|
||||
});
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) => checkBootstrap());
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) => checkBootstrap());
|
||||
return;
|
||||
}
|
||||
|
||||
@ -572,7 +573,7 @@ class ChatListController extends State<ChatList> with TickerProviderStateMixin {
|
||||
}
|
||||
|
||||
void resetActiveBundle() {
|
||||
WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
|
||||
setState(() {
|
||||
Matrix.of(context).activeBundle = null;
|
||||
});
|
||||
|
@ -110,7 +110,7 @@ class SearchController extends State<Search> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) async {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
||||
controller.text = VRouter.of(context).queryParameters['query'] ?? '';
|
||||
final server = await Store().getItem(_serverStoreNamespace);
|
||||
if (server?.isNotEmpty ?? false) {
|
||||
|
@ -83,7 +83,7 @@ class SettingsStoriesController extends State<SettingsStories> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
setState(() {
|
||||
loadUsers = _loadUsers();
|
||||
});
|
||||
|
@ -359,7 +359,7 @@ class StoryPageController extends State<StoryPage> {
|
||||
}
|
||||
|
||||
void _setLoadingMode(bool mode) => loadingMode != mode
|
||||
? WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
? WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
setState(() {
|
||||
loadingMode = mode;
|
||||
});
|
||||
|
@ -71,7 +71,7 @@ class BackgroundPush {
|
||||
|
||||
bool upAction = false;
|
||||
|
||||
BackgroundPush._(this.client, {this.onFcmError}) {
|
||||
BackgroundPush._(this.client) {
|
||||
onLogin ??=
|
||||
client.onLoginStateChanged.stream.listen(handleLoginStateChanged);
|
||||
onRoomSync ??= client.onSync.stream
|
||||
|
@ -28,10 +28,8 @@ class VoipPlugin extends WidgetsBindingObserver implements WebRTCDelegate {
|
||||
.catchError((e) => _currentConnectivity = ConnectivityResult.none);
|
||||
if (!kIsWeb) {
|
||||
final wb = WidgetsBinding.instance;
|
||||
wb?.addObserver(this);
|
||||
if (wb != null) {
|
||||
didChangeAppLifecycleState(wb.lifecycleState!);
|
||||
}
|
||||
wb.addObserver(this);
|
||||
didChangeAppLifecycleState(wb.lifecycleState!);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ class LoadingView extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
WidgetsBinding.instance?.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => VRouter.of(context).to(
|
||||
Matrix.of(context)
|
||||
.widget
|
||||
|
@ -13,7 +13,7 @@ class LoginScaffold extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
SystemChrome.setSystemUIOverlayStyle(
|
||||
const SystemUiOverlayStyle(
|
||||
statusBarIconBrightness: Brightness.light,
|
||||
|
@ -253,7 +253,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance!.addObserver(this);
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
initMatrix();
|
||||
if (PlatformInfos.isWeb) {
|
||||
initConfig().then((_) => initSettings());
|
||||
@ -382,7 +382,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
|
||||
void initMatrix() {
|
||||
// Display the app lock
|
||||
if (PlatformInfos.isMobile) {
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
([TargetPlatform.linux].contains(Theme.of(context).platform)
|
||||
? SharedPreferences.getInstance()
|
||||
.then((prefs) => prefs.getString(SettingKeys.appLockKey))
|
||||
@ -513,7 +513,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
WidgetsBinding.instance!.removeObserver(this);
|
||||
WidgetsBinding.instance.removeObserver(this);
|
||||
|
||||
onRoomKeyRequestSub.values.map((s) => s.cancel());
|
||||
onKeyVerificationRequestSub.values.map((s) => s.cancel());
|
||||
|
@ -10,6 +10,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
|
||||
url_launcher_linux
|
||||
)
|
||||
|
||||
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
||||
)
|
||||
|
||||
set(PLUGIN_BUNDLED_LIBRARIES)
|
||||
|
||||
foreach(plugin ${FLUTTER_PLUGIN_LIST})
|
||||
@ -18,3 +21,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
|
||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
|
||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
|
||||
endforeach(plugin)
|
||||
|
||||
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
|
||||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
|
||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
|
||||
endforeach(ffi_plugin)
|
||||
|
45
pubspec.lock
45
pubspec.lock
@ -56,7 +56,7 @@ packages:
|
||||
name: archive
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.1.6"
|
||||
version: "3.1.11"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -182,7 +182,7 @@ packages:
|
||||
name: collection
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.15.0"
|
||||
version: "1.16.0"
|
||||
connectivity_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@ -240,7 +240,7 @@ packages:
|
||||
name: coverage
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.3"
|
||||
version: "1.2.0"
|
||||
cross_file:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -394,7 +394,7 @@ packages:
|
||||
name: fake_async
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
version: "1.3.0"
|
||||
ffi:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -687,7 +687,7 @@ packages:
|
||||
name: flutter_typeahead
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.2.4"
|
||||
version: "3.2.5"
|
||||
flutter_web_auth:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@ -726,13 +726,6 @@ packages:
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.3"
|
||||
gaeilge_flutter_l10n:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: gaeilge_flutter_l10n
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
geolocator:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@ -905,7 +898,7 @@ packages:
|
||||
name: js
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.6.3"
|
||||
version: "0.6.4"
|
||||
just_audio:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@ -1005,7 +998,7 @@ packages:
|
||||
name: material_color_utilities
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.1.3"
|
||||
version: "0.1.4"
|
||||
matrix:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@ -1161,7 +1154,7 @@ packages:
|
||||
name: path
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.8.0"
|
||||
version: "1.8.1"
|
||||
path_drawing:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -1361,9 +1354,11 @@ packages:
|
||||
qr_code_scanner:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: qr_code_scanner
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
path: "."
|
||||
ref: fix_break_changes_platform
|
||||
resolved-ref: "0feca6f15042c279ff575c559a3430df917b623d"
|
||||
url: "https://github.com/xeinebiu/qr_code_scanner.git"
|
||||
source: git
|
||||
version: "0.7.0"
|
||||
qr_flutter:
|
||||
dependency: "direct main"
|
||||
@ -1616,7 +1611,7 @@ packages:
|
||||
name: source_span
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.8.1"
|
||||
version: "1.8.2"
|
||||
sqflite:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -1686,21 +1681,21 @@ packages:
|
||||
name: test
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.19.5"
|
||||
version: "1.20.2"
|
||||
test_api:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_api
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.4.8"
|
||||
version: "0.4.9"
|
||||
test_core:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_core
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.4.9"
|
||||
version: "0.4.11"
|
||||
timezone:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -1882,7 +1877,7 @@ packages:
|
||||
name: vector_math
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
version: "2.1.2"
|
||||
very_good_analysis:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -1945,7 +1940,7 @@ packages:
|
||||
name: vm_service
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "7.5.0"
|
||||
version: "8.2.2"
|
||||
vrouter:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@ -2059,5 +2054,5 @@ packages:
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
sdks:
|
||||
dart: ">=2.16.1 <3.0.0"
|
||||
dart: ">=2.17.0-0 <3.0.0"
|
||||
flutter: ">=2.8.0"
|
||||
|
13
pubspec.yaml
13
pubspec.yaml
@ -4,7 +4,7 @@ publish_to: none
|
||||
version: 1.4.0+2323
|
||||
|
||||
environment:
|
||||
sdk: '>=2.12.0 <3.0.0'
|
||||
sdk: ">=2.12.0 <3.0.0"
|
||||
|
||||
dependencies:
|
||||
adaptive_dialog: ^1.5.1
|
||||
@ -43,11 +43,10 @@ dependencies:
|
||||
flutter_secure_storage: ^5.0.2
|
||||
flutter_slidable: ^1.2.0
|
||||
flutter_svg: ^0.22.0
|
||||
flutter_typeahead: ^3.2.4
|
||||
flutter_typeahead: ^3.2.5
|
||||
flutter_web_auth: ^0.4.0
|
||||
flutter_webrtc: ^0.8.2
|
||||
future_loading_dialog: ^0.2.3
|
||||
gaeilge_flutter_l10n: ^1.0.0
|
||||
geolocator: ^7.6.2
|
||||
hive_flutter: ^1.1.0
|
||||
image: ^3.1.1
|
||||
@ -147,9 +146,15 @@ dependency_overrides:
|
||||
url: https://github.com/TheOneWithTheBraid/keyboard_shortcuts.git
|
||||
ref: null-safety
|
||||
provider: 5.0.0
|
||||
# For Flutter 3.0.0 compatibility
|
||||
# https://github.com/juliuscanute/qr_code_scanner/issues/532
|
||||
qr_code_scanner:
|
||||
git:
|
||||
url: https://github.com/xeinebiu/qr_code_scanner.git
|
||||
ref: fix_break_changes_platform
|
||||
# wating for `Listenable` implementation
|
||||
# Upstream pull request: https://github.com/AdamJonsson/snapping_sheet/pull/84
|
||||
snapping_sheet:
|
||||
git:
|
||||
url: https://github.com/TheOneWithTheBraid/snapping_sheet.git
|
||||
ref: listenable
|
||||
ref: listenable
|
||||
|
@ -12,6 +12,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
|
||||
url_launcher_windows
|
||||
)
|
||||
|
||||
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
||||
)
|
||||
|
||||
set(PLUGIN_BUNDLED_LIBRARIES)
|
||||
|
||||
foreach(plugin ${FLUTTER_PLUGIN_LIST})
|
||||
@ -20,3 +23,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
|
||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
|
||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
|
||||
endforeach(plugin)
|
||||
|
||||
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
|
||||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})
|
||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
|
||||
endforeach(ffi_plugin)
|
||||
|
Loading…
Reference in New Issue
Block a user