diff --git a/lib/main.dart b/lib/main.dart index 58b72f4d3..ee15ef78d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,3 +1,6 @@ +import 'dart:isolate'; +import 'dart:ui'; + import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -20,6 +23,8 @@ import 'config/setting_keys.dart'; import 'utils/background_push.dart'; import 'widgets/fluffy_chat_app.dart'; +ReceivePort? mainIsolateReceivePort; + void main() async { // #Pangea try { @@ -47,6 +52,14 @@ void main() async { await Future.wait(initFutures); // Pangea# + if (PlatformInfos.isAndroid) { + final port = mainIsolateReceivePort = ReceivePort(); + IsolateNameServer.registerPortWithName( + port.sendPort, + 'main_isolate', + ); + } + // Our background push shared isolate accesses flutter-internal things very early in the startup proccess // To make sure that the parts of flutter needed are started up already, we need to ensure that the // widget bindings are initialized already. diff --git a/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart b/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart index cf7e417e0..95e7eaa00 100644 --- a/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart +++ b/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart @@ -135,7 +135,6 @@ Future _constructDatabase(String clientName) async { version: 1, // most important : apply encryption when opening the DB onConfigure: helper?.applyPragmaKey, - singleInstance: false, ), ); diff --git a/lib/utils/notification_background_handler.dart b/lib/utils/notification_background_handler.dart index aa8ea17dd..32113502a 100644 --- a/lib/utils/notification_background_handler.dart +++ b/lib/utils/notification_background_handler.dart @@ -48,7 +48,7 @@ void notificationTapBackground( ) async { Logs().i('Notification tap in background'); - final sendPort = IsolateNameServer.lookupPortByName('background_tab_port'); + final sendPort = IsolateNameServer.lookupPortByName('main_isolate'); if (sendPort != null) { sendPort.send(notificationResponse.toJsonString()); return; diff --git a/pubspec.lock b/pubspec.lock index 9ad9d0473..83abf96f7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -574,10 +574,10 @@ packages: dependency: "direct main" description: name: file_picker - sha256: f2d9f173c2c14635cc0e9b14c143c49ef30b4934e8d1d274d6206fcb0086a06f + sha256: f8f4ea435f791ab1f817b4e338ed958cb3d04ba43d6736ffc39958d950754967 url: "https://pub.dev" source: hosted - version: "10.3.3" + version: "10.3.6" file_selector: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 57b9bc9d0..35d2131bf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -32,7 +32,7 @@ dependencies: dynamic_color: ^1.8.1 emoji_picker_flutter: ^4.3.0 emojis: ^0.9.9 - file_picker: ^10.3.3 + file_picker: ^10.3.6 file_selector: ^1.0.4 flutter: sdk: flutter