Fix ToolApp edge back preview layers

This commit is contained in:
Hermes
2026-05-22 06:41:54 +08:00
parent 454090248d
commit 855352bfd9
3 changed files with 21 additions and 37 deletions

View File

@@ -857,11 +857,8 @@ FloatBallAppWM.prototype.applyToolAppBackPreviewProgress = function(edge, progre
try { w = Number((this.state.toolAppRoot && this.state.toolAppRoot.getWidth && this.state.toolAppRoot.getWidth()) || 0); } catch (eW1) {} try { w = Number((this.state.toolAppRoot && this.state.toolAppRoot.getWidth && this.state.toolAppRoot.getWidth()) || 0); } catch (eW1) {}
} }
if (!w || w < this.dp(120)) w = this.dp(320); if (!w || w < this.dp(120)) w = this.dp(320);
try { /* 不再移动 WindowManager 窗口,避免 prevBody 和当前页面一起跑。 */
if (dragPx !== undefined && dragPx !== null) { /* try { this.applyToolAppBackWindowFollow(edge, dragPx); } catch(eFollow) {} */
this.applyToolAppBackWindowFollow(edge, dragPx);
}
} catch(eFollow) {}
try { try {
var nowLog = Date.now(); var nowLog = Date.now();
@@ -877,28 +874,24 @@ FloatBallAppWM.prototype.applyToolAppBackPreviewProgress = function(edge, progre
} catch(eLog) {} } catch(eLog) {}
var root = this.state.toolAppRoot; var root = this.state.toolAppRoot;
var rootMove = dir * w * eased * 0.42; var bodyMove = dir * w * eased * 0.42;
try { try {
if (dragPx !== undefined && dragPx !== null) { if (dragPx !== undefined && dragPx !== null) {
var rawDrag = Number(dragPx || 0); var rawDrag = Number(dragPx || 0);
if (isNaN(rawDrag)) rawDrag = 0; if (isNaN(rawDrag)) rawDrag = 0;
if (rawDrag < 0) rawDrag = -rawDrag; if (rawDrag < 0) rawDrag = -rawDrag;
rootMove = dir * Math.min(rawDrag, Math.floor(w * 0.45)); bodyMove = dir * Math.min(rawDrag, Math.floor(w * 0.45));
} }
} catch(eRootMove) {} } catch(eBodyMove) {}
try { if (root) {
if (root) { try { root.animate().cancel(); } catch(eCancelRoot) {}
try { root.animate().cancel(); } catch(eCancelRoot) {} try { root.setTranslationX(0); } catch(eRootReset) {}
root.setTranslationX(rootMove);
}
} catch(eRootSet) {
safeLog(this.L, 'w', 'set tool app root translation fail: ' + String(eRootSet));
} }
if (body) { if (body) {
try { body.animate().cancel(); } catch(eCancelBody) {} try { body.animate().cancel(); } catch(eCancelBody) {}
body.setTranslationX(0); body.setTranslationX(bodyMove);
body.setAlpha(1.0 - 0.10 * eased); body.setAlpha(1.0 - 0.10 * eased);
var s = 1.0 - 0.015 * eased; var s = 1.0 - 0.015 * eased;
body.setScaleX(s); body.setScaleX(s);
@@ -908,14 +901,16 @@ FloatBallAppWM.prototype.applyToolAppBackPreviewProgress = function(edge, progre
try { try {
var rootTx = root ? root.getTranslationX() : 0; var rootTx = root ? root.getTranslationX() : 0;
var bodyTx = body ? body.getTranslationX() : 0; var bodyTx = body ? body.getTranslationX() : 0;
var prevTx = prev ? prev.getTranslationX() : 0;
var lpX = (this.state.viewerPanelLp ? this.state.viewerPanelLp.x : 0); var lpX = (this.state.viewerPanelLp ? this.state.viewerPanelLp.x : 0);
var nowLog2 = Date.now(); var nowLog2 = Date.now();
if (!this.state._lastBackMoveLog || nowLog2 - this.state._lastBackMoveLog > 300) { if (!this.state._lastBackMoveLog || nowLog2 - this.state._lastBackMoveLog > 300) {
safeLog(this.L, 'd', safeLog(this.L, 'd',
'back move apply edge=' + String(edge) + 'back move apply edge=' + String(edge) +
' rootMove=' + String(rootMove) + ' bodyMove=' + String(bodyMove) +
' rootTx=' + String(rootTx) + ' rootTx=' + String(rootTx) +
' bodyTx=' + String(bodyTx) + ' bodyTx=' + String(bodyTx) +
' prevTx=' + String(prevTx) +
' lpX=' + String(lpX) ' lpX=' + String(lpX)
); );
this.state._lastBackMoveLog = nowLog2; this.state._lastBackMoveLog = nowLog2;
@@ -941,7 +936,7 @@ FloatBallAppWM.prototype.finishToolAppBackPreview = function(edge, complete) {
var prev = this.state.toolAppBackPreviewView; var prev = this.state.toolAppBackPreviewView;
var dir = Number(edge) === 1 ? -1 : 1; var dir = Number(edge) === 1 ? -1 : 1;
var decel = new android.view.animation.DecelerateInterpolator(); var decel = new android.view.animation.DecelerateInterpolator();
if (complete && root) { if (complete && body) {
var w = 0; var w = 0;
try { w = Number((this.state.viewerPanelLp && this.state.viewerPanelLp.width) || 0); } catch (eW0) {} try { w = Number((this.state.viewerPanelLp && this.state.viewerPanelLp.width) || 0); } catch (eW0) {}
if (!w || w < this.dp(120)) { if (!w || w < this.dp(120)) {
@@ -949,7 +944,7 @@ FloatBallAppWM.prototype.finishToolAppBackPreview = function(edge, complete) {
} }
if (!w || w < this.dp(120)) w = this.dp(320); if (!w || w < this.dp(120)) w = this.dp(320);
try { if (prev) prev.animate().translationX(0).alpha(1).scaleX(1).scaleY(1).setDuration(180).setInterpolator(decel).start(); } catch(ePrev) {} try { if (prev) prev.animate().translationX(0).alpha(1).scaleX(1).scaleY(1).setDuration(180).setInterpolator(decel).start(); } catch(ePrev) {}
root.animate().translationX(dir * w).setDuration(180).setInterpolator(decel).withEndAction(new java.lang.Runnable({ 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() { run: function() {
try { self.resetToolAppBackWindowFollow(); } catch(eResetFollow) {} try { self.resetToolAppBackWindowFollow(); } catch(eResetFollow) {}
try { try {
@@ -967,10 +962,10 @@ FloatBallAppWM.prototype.finishToolAppBackPreview = function(edge, complete) {
})).start(); })).start();
return; return;
} }
if (root) { if (body) {
var cancelInterp = new android.view.animation.AccelerateDecelerateInterpolator(); var cancelInterp = new android.view.animation.AccelerateDecelerateInterpolator();
try { if (prev) prev.animate().translationX(-dir * self.dp(24)).alpha(0.88).scaleX(0.975).scaleY(0.975).setDuration(200).setInterpolator(cancelInterp).start(); } catch(ePrev2) {} try { if (prev) prev.animate().translationX(-dir * self.dp(24)).alpha(0.88).scaleX(0.975).scaleY(0.975).setDuration(200).setInterpolator(cancelInterp).start(); } catch(ePrev2) {}
root.animate().translationX(0).setDuration(200).setInterpolator(cancelInterp).withEndAction(new java.lang.Runnable({ body.animate().translationX(0).alpha(1).scaleX(1).scaleY(1).setDuration(200).setInterpolator(cancelInterp).withEndAction(new java.lang.Runnable({
run: function() { run: function() {
try { self.resetToolAppBackWindowFollow(); } catch(eResetFollow2) {} try { self.resetToolAppBackWindowFollow(); } catch(eResetFollow2) {}
try { try {
@@ -987,18 +982,7 @@ FloatBallAppWM.prototype.finishToolAppBackPreview = function(edge, complete) {
})).start(); })).start();
return; return;
} }
if (body) { this.clearToolAppBackPreview(true);
var cancelInterp2 = new android.view.animation.AccelerateDecelerateInterpolator();
try { if (prev) prev.animate().translationX(-dir * self.dp(24)).alpha(0.88).scaleX(0.975).scaleY(0.975).setDuration(200).setInterpolator(cancelInterp2).start(); } catch(ePrev3) {}
body.animate().translationX(0).alpha(1).scaleX(1).scaleY(1).setDuration(200).setInterpolator(cancelInterp2).withEndAction(new java.lang.Runnable({
run: function() {
try { self.resetToolAppBackWindowFollow(); } catch(eResetFollow4) {}
try { self.clearToolAppBackPreview(true); } catch (eClear3) {}
}
})).start();
} else {
this.clearToolAppBackPreview(true);
}
} catch (e) { } catch (e) {
try { this.resetToolAppBackWindowFollow(); } catch(eResetFollow3) {} try { this.resetToolAppBackWindowFollow(); } catch(eResetFollow3) {}
try { if (this.state.toolAppRoot) this.state.toolAppRoot.setTranslationX(0); } catch(eRootCatch) {} try { if (this.state.toolAppRoot) this.state.toolAppRoot.setTranslationX(0); } catch(eRootCatch) {}

View File

@@ -58,8 +58,8 @@
"size": 304993 "size": 304993
}, },
"th_15_extra.js": { "th_15_extra.js": {
"sha256": "f2742e0ded86437429e21c392e976882e1f7fc35c2fabee73476d5c67c32d5bd", "sha256": "5fcd5a8146c6bc68e8adc6660c9b12d1f918d7a5a83e00d745a7e18e34ad6f39",
"size": 112672 "size": 112080
}, },
"th_16_entry.js": { "th_16_entry.js": {
"sha256": "6c59d9891cd010647f84c3db93f1cf95c7bbfb758470ea21044bf72eb8ff73d1", "sha256": "6c59d9891cd010647f84c3db93f1cf95c7bbfb758470ea21044bf72eb8ff73d1",
@@ -68,5 +68,5 @@
}, },
"keyId": "toolhub-targets-2026-rsa3072", "keyId": "toolhub-targets-2026-rsa3072",
"schema": 2, "schema": 2,
"version": 20260521222946 "version": 20260521224041
} }

View File

@@ -1 +1 @@
VVMSoSK+a/PGnXpr654GjtvS68rk1MxWEDVULHMDOgIj1BZ1tKTBRTKRmG9hu06csT8QtRZHKtzfHwbGzUhbEC7WOmRelGOvBCCsBS8t10i7sS1Jg8TE7ESrY7p4/8q6uhqTvaE0JjlbuNMX5ImYYi0at91PkqWL3YybUTr7wDRnfGRWeLa054vf7v4gnkkfd+EttFAfQbXkC2EKk6wHVi1NMOVs18j50HdXw1mNrel9kH/LqnbjWj4g1zDnkpRwgOW6IY8qU/mQA6OGUgShbpn71rEFuMo+7O7ZiB4Lmel8i1WBXWORn2mrGRhJC79F6nH8zQzhc8lYWayNRW9YVD/Z4rxSxU/+S+TMzyG+IHz7crwF68F3nBwdnhwMXTCmoSjakOgkNyOoUHoSqRTRBDpiWOXjA4skV6NVpnT91wcakoNBgq2faRX7UgCcqR6fVxtcaX1HuLH8+9riWXbJBpRbk8iNdnwkkGZxndYEQVXfBgnn0DKQgDZSxnx+I4xy OcvlczPduvM0/xKzxRszzLAAOoXdCJ5vj0tf38jAHCYmPA+w0E2JSHIR3uSdr7tBNS42SeBnoHctm9PL00HyaytJvS/N+QIUo8oe6UWK5kVxx5xfeMqmwScGHV6tt93BVc03SwAKepaQZE0dBOFpsEGADwuoVHUEuwsFgRlc6Wl3UuGhcDVrALXgYlZBLy51fs8DmBHxK5CM26Oi2pLC/mI2VpwqMkx64VmsJtgbtVwQdFmwM2Y7tRUf9bGFkPld2gSvWyAAEk/Zul/6z61DHwCSmk0HIuIUb/yFBRxDtBhgQx50jUtKu6JEHhEMFe/eLkb/lfwXPmNIuoHIF89/t8Rf7k7cd5ZrolqeVR0uYcXlmJ3i8nadasnJn1NJh6YobbnmLOoC1NQm5mw2l8e0Q0B+5HEG2NyfxVHxgh1dIvGll2MroJqzpNMTeUW7adE3UBc/wgTO8s6MBAhs+lNLFikgtMvCEDczwymPOn2wBuRxrUY+Ni1UJveGcbNhmUUH