Avoid scroll restore flicker on ToolApp back
This commit is contained in:
@@ -713,7 +713,7 @@ FloatBallAppWM.prototype.saveToolAppCurrentStackScroll = function() {
|
||||
return false;
|
||||
};
|
||||
|
||||
FloatBallAppWM.prototype.restoreToolAppScrollLater = function(root, entry) {
|
||||
FloatBallAppWM.prototype.restoreToolAppScrollLater = function(root, entry, hideUntilRestored) {
|
||||
try {
|
||||
if (!root) return false;
|
||||
var y = 0;
|
||||
@@ -723,14 +723,35 @@ FloatBallAppWM.prototype.restoreToolAppScrollLater = function(root, entry) {
|
||||
y = Math.floor(y);
|
||||
if (y <= 0) return false;
|
||||
var self = this;
|
||||
var shouldHide = !!hideUntilRestored;
|
||||
if (shouldHide) {
|
||||
try { root.setAlpha(0.01); } catch(eHide) {}
|
||||
}
|
||||
root.post(new java.lang.Runnable({ run: function() {
|
||||
try {
|
||||
var sv = self.findToolAppFirstScrollView ? self.findToolAppFirstScrollView(root) : null;
|
||||
if (sv) sv.scrollTo(0, y);
|
||||
} catch(ePost) {}
|
||||
try {
|
||||
root.post(new java.lang.Runnable({ run: function() {
|
||||
try {
|
||||
var sv2 = self.findToolAppFirstScrollView ? self.findToolAppFirstScrollView(root) : null;
|
||||
if (sv2) sv2.scrollTo(0, y);
|
||||
} catch(ePost2) {}
|
||||
if (shouldHide) {
|
||||
try { root.setAlpha(1.0); } catch(eShow) {}
|
||||
}
|
||||
}}));
|
||||
} catch(ePostAgain) {
|
||||
if (shouldHide) {
|
||||
try { root.setAlpha(1.0); } catch(eShow2) {}
|
||||
}
|
||||
}
|
||||
}}));
|
||||
return true;
|
||||
} catch(e) {}
|
||||
} catch(e) {
|
||||
try { if (root) root.setAlpha(1.0); } catch(eRestoreAlpha) {}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
@@ -1607,7 +1628,7 @@ FloatBallAppWM.prototype.setToolAppContent = function(contentView) {
|
||||
try {
|
||||
var st = this.state.toolAppNavStack || [];
|
||||
var top = st.length ? st[st.length - 1] : null;
|
||||
if (this.restoreToolAppScrollLater) this.restoreToolAppScrollLater(contentView, top);
|
||||
if (this.restoreToolAppScrollLater) this.restoreToolAppScrollLater(contentView, top, true);
|
||||
} catch(eRestoreScroll) {}
|
||||
return true;
|
||||
} catch (e) {
|
||||
|
||||
@@ -70,8 +70,8 @@
|
||||
"size": 20484
|
||||
},
|
||||
"th_15_extra.js": {
|
||||
"sha256": "8ec00dbb048a139ea1b729e84c72db2f73a0eb8c64ccfd5957952daa631a8642",
|
||||
"size": 126972
|
||||
"sha256": "cb5aa3fe84c65dbd35a4ed55d9d17e82c20cd6bedc06e6a258879606b05d02d3",
|
||||
"size": 127685
|
||||
},
|
||||
"th_16_entry.js": {
|
||||
"sha256": "652aa70214a9419923785e528a067d3828094fde48fc9c8c57cfda1e08206e25",
|
||||
@@ -80,5 +80,5 @@
|
||||
},
|
||||
"keyId": "toolhub-targets-2026-rsa3072",
|
||||
"schema": 2,
|
||||
"version": 20260522210920
|
||||
"version": 20260522211645
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
lCaCnyAoHDFSS7cgmQ4nlX7J8ZsdK8UdBXztNCZgAGye8ITxnxYMzRns4EfRfeIlrWoeO3WKY+DKwhL6YSA7tcWgHEv+RGRaeKP2rkaZrGX9kOSIZgCuyW5FeFSuac3i2MwTxGEpXA228HhGH/thMJmGu7on74yDvnB75tzumwEqzuyfAx5FMM7qMv3xHfy4yF3XOhjQGJHW6Mo7gzRdZvQ804OMlKcHj0J1OOTQByKYvsD03UeXB6L1QocwIyRNgST8VEo8j11qtehVaxzG+zWo9n1cFdIzjIQ/Q4RPEED+Xo+/L6JKdEEy5hjk0DaC5uBsTQEYqhO+h2ApUdKdZ5o0kF+bFHIZYGwA720rj014enSpWrXnLCbyXKxHCnsaOQ8b10w+r8V2dwV2F36N5n1Sng5USj9PYePm5+7hyN6BxoJBSR+YWcKmpCVU8XXMLKjSOiI+z21i10RXLAtYLxGAqyuBPhBhFWE2dzXgWS8H0NgHCKDxylAYSMKs2ryb
|
||||
DuIlrYwkS+FUzg/KMglQaHa4/8qp0pc6ePA7j0yLk2AO6mCZ1hPqulLSH3XYj9ryEQ15fx3m+agY4Dv2Z/O4/3ehs9j7jA3awK4ZgGGMaY4cuIDMyr13vxi9SZSoxdo3XksK8DL1JwKe0UxgbAbQdFd6LrIHGnc0PL8ntoPGh8u17Yyj3xf/piw8kCiBExz8NDaB83bieS/GNsnTRj9jSGczEaUoqCB9PFPXiFRVJ+PREjhp4O1UeQ3isoDfjRYq/sKdrcKf1g/o2LdHS6lFmSMhcz0xp9WWklKE3XE3sPaIdHHlsZaCNVjb+UJW0crcBWTQbHRvWKbPSpnNTFXm1z26AeU0Z9cMHqjNhdpyaPI8MiKcZF/x28bWN7B2TMUel37K36mZ78j7E+l8uMaIsxPHt4KzM6do6vPhz0iunUxSrJk1fnfq5S4PczmjreVTJ8iRz4GSiGp5pQtg3GOyhqH4kbxbQIAEKK+Hm8hLBLQNULByvL/C7CfhHbJ6Jsfi
|
||||
|
||||
Reference in New Issue
Block a user