From 7c0551f24811573d7a825fa7f6f5b42277ea20de Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Wed, 24 Mar 2021 16:40:00 +0900 Subject: [PATCH] fixed navigation stack when app is used to view external content and the app was already open on viewer page --- lib/widgets/home_page.dart | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/widgets/home_page.dart b/lib/widgets/home_page.dart index 9e328365d..3b1c56f1b 100644 --- a/lib/widgets/home_page.dart +++ b/lib/widgets/home_page.dart @@ -106,7 +106,13 @@ class _HomePageState extends State { unawaited(source.refresh()); } - unawaited(Navigator.pushReplacement(context, _getRedirectRoute(appMode))); + // `pushReplacement` is not enough in some edge cases + // e.g. when opening the viewer in `view` mode should replace a viewer in `main` mode + unawaited(Navigator.pushAndRemoveUntil( + context, + _getRedirectRoute(appMode), + (route) => false, + )); } Future _initViewerEntry({@required String uri, @required String mimeType}) async {