diff --git a/android/app/src/main/java/com/logseq/app/MainActivity.java b/android/app/src/main/java/com/logseq/app/MainActivity.java index 63af72edd0..168c7263ec 100644 --- a/android/app/src/main/java/com/logseq/app/MainActivity.java +++ b/android/app/src/main/java/com/logseq/app/MainActivity.java @@ -228,15 +228,17 @@ public class MainActivity extends BridgeActivity { WebView webView = getBridge().getWebView(); if (webView != null) { NavigationRenderState nativePopState = navigationCoordinator.prepareNativePop(); - if (nativePopState != null) { - Log.d( - "NavStack", - NAV_STACK_DEBUG_PREFIX + " activity.nativeBack consumed=native-stack-pop target=" - + nativePopState.getPath() - + " paths=" + nativePopState.getPaths() - ); - ComposeHost.applyNavigation(nativePopState); + if (nativePopState == null) { + finish(); + return; } + Log.d( + "NavStack", + NAV_STACK_DEBUG_PREFIX + " activity.nativeBack consumed=native-stack-pop target=" + + nativePopState.getPath() + + " paths=" + nativePopState.getPaths() + ); + ComposeHost.applyNavigation(nativePopState); // Send "native back" into JS. JS will call your UILocal/route-change, // which flows into ComposeHost.applyNavigation(...) and animates. sendJsBack(webView);