From 3cea32e1c8022506759320feb7fd5c347ed85ab7 Mon Sep 17 00:00:00 2001 From: krille-chan Date: Sat, 4 Nov 2023 19:16:32 +0100 Subject: [PATCH] refactor: Do not init client in background mode on Android This might make push notifications even faster on android --- lib/main.dart | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index c3dd3466..26f0e61a 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -21,15 +21,19 @@ void main() async { // widget bindings are initialized already. WidgetsFlutterBinding.ensureInitialized(); + final backgroundMode = PlatformInfos.isAndroid && + AppLifecycleState.detached == WidgetsBinding.instance.lifecycleState; Logs().nativeColors = !PlatformInfos.isIOS; final store = await SharedPreferences.getInstance(); - final clients = await ClientManager.getClients(store: store); + final clients = await ClientManager.getClients( + store: store, + initialize: !backgroundMode, + ); // If the app starts in detached mode, we assume that it is in // background fetch mode for processing push notifications. This is // currently only supported on Android. - if (PlatformInfos.isAndroid && - AppLifecycleState.detached == WidgetsBinding.instance.lifecycleState) { + if (backgroundMode) { // In the background fetch mode we do not want to waste ressources with // starting the Flutter engine but process incoming push notifications. BackgroundPush.clientOnly(clients.first);