From 3a21c8bc7f9102f83a85f0be21dc55174772f2b9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 21 May 2026 05:38:54 +0000 Subject: [PATCH] fix(android): finish activity at native root back Agent-Logs-Url: https://github.com/logseq/logseq/sessions/8607ea41-e86e-4901-bc85-cb886e184f1d Co-authored-by: xyhp915 <1779837+xyhp915@users.noreply.github.com> --- .../main/java/com/logseq/app/MainActivity.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) 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);