From 9cd670b6a7c061411cda952b12e17764e6084b97 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Tue, 29 Jun 2021 14:53:17 +0200 Subject: [PATCH] fix physical button navigation on android --- packages/stream_chat_v1/lib/home_page.dart | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/stream_chat_v1/lib/home_page.dart b/packages/stream_chat_v1/lib/home_page.dart index 7746729..abe14f1 100644 --- a/packages/stream_chat_v1/lib/home_page.dart +++ b/packages/stream_chat_v1/lib/home_page.dart @@ -17,14 +17,22 @@ class HomePage extends StatelessWidget { }) : super(key: key); final StreamChatClient chatClient; + final GlobalKey _navigatorKey = GlobalKey(); @override Widget build(BuildContext context) { return StreamChat( client: chatClient, - child: Navigator( - onGenerateRoute: AppRoutes.generateRoute, - initialRoute: Routes.CHANNEL_LIST_PAGE, + child: WillPopScope( + onWillPop: () async { + final canPop = await _navigatorKey.currentState?.maybePop() ?? false; + return !canPop; + }, + child: Navigator( + key: _navigatorKey, + onGenerateRoute: AppRoutes.generateRoute, + initialRoute: Routes.CHANNEL_LIST_PAGE, + ), ), ); }