From 27dd07da4936dc2fc3ab452d95d0144f15d0010a Mon Sep 17 00:00:00 2001 From: 7015725 Date: Sat, 23 May 2026 05:20:35 +0800 Subject: [PATCH] Keep back preview during ToolApp pop --- code/th_15_extra.js | 41 ++++++++++++++++++++++++++++++----------- manifest.json | 6 +++--- manifest.sig | 2 +- 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/code/th_15_extra.js b/code/th_15_extra.js index 1e14840..4234ac3 100644 --- a/code/th_15_extra.js +++ b/code/th_15_extra.js @@ -663,7 +663,7 @@ FloatBallAppWM.prototype.bumpToolAppStackVersion = function() { v = v + 1; if (v > 1000000000) v = 1; this.state.toolAppNavStackVersion = v; - this.clearToolAppBackPreview(false); + if (!this.state.keepToolAppBackPreviewDuringPop) this.clearToolAppBackPreview(false); return v; } catch(e) {} return 0; @@ -1166,17 +1166,36 @@ FloatBallAppWM.prototype.finishToolAppBackPreview = function(edge, complete) { body.animate().translationX(dir * w).alpha(0.90).scaleX(0.985).scaleY(0.985).setDuration(180).setInterpolator(decel).withEndAction(new java.lang.Runnable({ run: function() { try { self.resetToolAppBackWindowFollow(); } catch(eResetFollow) {} - try { - if (self.state.toolAppRoot) self.state.toolAppRoot.setTranslationX(0); - if (self.state.toolAppBody) { - self.state.toolAppBody.setTranslationX(0); - self.state.toolAppBody.setAlpha(1); - self.state.toolAppBody.setScaleX(1); - self.state.toolAppBody.setScaleY(1); - } - } catch(eResetView) {} - try { self.clearToolAppBackPreview(true); } catch (eClear) {} + try { self.state.keepToolAppBackPreviewDuringPop = true; } catch(eKeepPreview) {} try { self.popToolAppPage("edge_swipe_back"); } catch (ePop) {} + try { self.state.keepToolAppBackPreviewDuringPop = false; } catch(eKeepPreview2) {} + try { + var rootAfter = self.state.toolAppRoot; + if (rootAfter) { + rootAfter.post(new java.lang.Runnable({ run: function() { + try { + rootAfter.post(new java.lang.Runnable({ run: function() { + try { + if (self.state.toolAppRoot) self.state.toolAppRoot.setTranslationX(0); + if (self.state.toolAppBody) { + self.state.toolAppBody.setTranslationX(0); + self.state.toolAppBody.setAlpha(1); + self.state.toolAppBody.setScaleX(1); + self.state.toolAppBody.setScaleY(1); + } + } catch(eResetViewLater) {} + try { self.clearToolAppBackPreview(true); } catch (eClearLater) {} + }})); + } catch(ePost2) { + try { self.clearToolAppBackPreview(true); } catch (eClearPostFail) {} + } + }})); + } else { + try { self.clearToolAppBackPreview(true); } catch (eClearNoRoot) {} + } + } catch(eLater) { + try { self.clearToolAppBackPreview(true); } catch (eClearLaterFail) {} + } } })).start(); return; diff --git a/manifest.json b/manifest.json index 77e19b5..3b2fbe3 100644 --- a/manifest.json +++ b/manifest.json @@ -70,8 +70,8 @@ "size": 20484 }, "th_15_extra.js": { - "sha256": "cb5aa3fe84c65dbd35a4ed55d9d17e82c20cd6bedc06e6a258879606b05d02d3", - "size": 127685 + "sha256": "68e12dcfb256e04c5eb0173a3eab9a9e17a84d3ea5fcf5c6acf56577e2e11b5f", + "size": 128721 }, "th_16_entry.js": { "sha256": "652aa70214a9419923785e528a067d3828094fde48fc9c8c57cfda1e08206e25", @@ -80,5 +80,5 @@ }, "keyId": "toolhub-targets-2026-rsa3072", "schema": 2, - "version": 20260522211645 + "version": 20260522212030 } diff --git a/manifest.sig b/manifest.sig index 24711aa..3ebfb68 100644 --- a/manifest.sig +++ b/manifest.sig @@ -1 +1 @@ -DuIlrYwkS+FUzg/KMglQaHa4/8qp0pc6ePA7j0yLk2AO6mCZ1hPqulLSH3XYj9ryEQ15fx3m+agY4Dv2Z/O4/3ehs9j7jA3awK4ZgGGMaY4cuIDMyr13vxi9SZSoxdo3XksK8DL1JwKe0UxgbAbQdFd6LrIHGnc0PL8ntoPGh8u17Yyj3xf/piw8kCiBExz8NDaB83bieS/GNsnTRj9jSGczEaUoqCB9PFPXiFRVJ+PREjhp4O1UeQ3isoDfjRYq/sKdrcKf1g/o2LdHS6lFmSMhcz0xp9WWklKE3XE3sPaIdHHlsZaCNVjb+UJW0crcBWTQbHRvWKbPSpnNTFXm1z26AeU0Z9cMHqjNhdpyaPI8MiKcZF/x28bWN7B2TMUel37K36mZ78j7E+l8uMaIsxPHt4KzM6do6vPhz0iunUxSrJk1fnfq5S4PczmjreVTJ8iRz4GSiGp5pQtg3GOyhqH4kbxbQIAEKK+Hm8hLBLQNULByvL/C7CfhHbJ6Jsfi +l6g96ONK62lSIYRjTLnG/nA4ANJWb3qnE/ImWR93y5E0O+Wbd/2yPDbnrIuPRSVD7aId9O/0wO+rYQSurHfXBTF5rt40r3U4HMYNQRw0bb/34VdV/ZG8z6C2WXv9T3OjaRedqKWkH0HcE9Z8hurOveBDbR1CtWUVgHPQ6AuCkfRWyzMK378B4EXbd9XoODzg6wOECt8qRecLHvVOb0bU5THqoSSnLwZQ+ZNsqNGLn/T7BGe3i4vEadxzjumxwh7PoK/VZBaip/1jxHRPKtq5sVZu4qzv3FBqUh4ndBoNyiMmdEQNZeC9ETG2WB9M+2Oixrv4Dds4c9yabZt1NxA9v1/Fbv4lqDw6Be9gt/d8ZnffuWgN1HJvqMtmwRdIXRAJ+F2U47FGjv5v4eBYplWma9POz8pc/K5kkLFxaObYunNYVDmjlLRk4gC+nEOXbHMJxJJ3MiPc8ImuccblTHEWXKFFLZY6m7+2nq9VFqGdiG/c0fJrDefJaIFgC6tB6ruw