Fix ToolApp back preview drag fallback

This commit is contained in:
Hermes
2026-05-22 06:22:57 +08:00
parent 67fad1d7f8
commit 25b9f5c52b
3 changed files with 34 additions and 6 deletions

View File

@@ -620,6 +620,14 @@ FloatBallAppWM.prototype.buildToolAppPreviewBody = function(entry) {
var hasOldGroupKey = false;
var r = "settings";
try {
var spec = null;
try {
spec = this.getToolAppResponsiveSpec ? this.getToolAppResponsiveSpec() : null;
} catch(eSpec) {
spec = null;
}
var topBarHeight = spec ? spec.topBarHeight : this.dp(56);
oldGroupKey = this.state.settingsGroupKey;
hasOldGroupKey = true;
var groupKey = null;
@@ -829,10 +837,15 @@ FloatBallAppWM.prototype.applyToolAppBackPreviewProgress = function(edge, progre
if (isNaN(p)) p = 0;
if (p < 0) p = 0;
if (p > 1) p = 1;
if (!this.prepareToolAppBackPreview(edge)) return false;
var previewReady = false;
try {
previewReady = this.prepareToolAppBackPreview(edge);
} catch(ePrepare) {
previewReady = false;
}
var eased = 1 - Math.pow(1 - p, 2.2);
var body = this.state.toolAppBody;
var prev = this.state.toolAppBackPreviewView;
var prev = previewReady ? this.state.toolAppBackPreviewView : null;
var dir = Number(edge) === 1 ? -1 : 1;
var w = 0;
try { w = Number((this.state.viewerPanelLp && this.state.viewerPanelLp.width) || 0); } catch (eW0) {}
@@ -845,6 +858,20 @@ FloatBallAppWM.prototype.applyToolAppBackPreviewProgress = function(edge, progre
this.applyToolAppBackWindowFollow(edge, dragPx);
}
} catch(eFollow) {}
try {
var nowLog = Date.now();
if (!this.state._lastBackPreviewLog || nowLog - this.state._lastBackPreviewLog > 300) {
safeLog(this.L, 'd',
'back preview progress edge=' + String(edge) +
' p=' + String(p) +
' dragPx=' + String(dragPx) +
' previewReady=' + String(previewReady)
);
this.state._lastBackPreviewLog = nowLog;
}
} catch(eLog) {}
if (body) {
var bodyMove = dir * w * eased * 0.42;
try {
@@ -855,6 +882,7 @@ FloatBallAppWM.prototype.applyToolAppBackPreviewProgress = function(edge, progre
bodyMove = dir * Math.min(rawDrag, Math.floor(w * 0.45));
}
} catch(eBodyMove) {}
try { body.animate().cancel(); } catch(eCancelBody) {}
body.setTranslationX(bodyMove);
body.setAlpha(1.0 - 0.10 * eased);
var s = 1.0 - 0.015 * eased;

View File

@@ -58,8 +58,8 @@
"size": 304993
},
"th_15_extra.js": {
"sha256": "019fe7752d33d65771ec9421c8760d8b907cf95cc6493a4c7379c35fc6336350",
"size": 109063
"sha256": "b955573f6715af3da1ffe2302fdc5ebd54967a067f0e8a7503d1eebfbf4e1106",
"size": 109900
},
"th_16_entry.js": {
"sha256": "6c59d9891cd010647f84c3db93f1cf95c7bbfb758470ea21044bf72eb8ff73d1",
@@ -68,5 +68,5 @@
},
"keyId": "toolhub-targets-2026-rsa3072",
"schema": 2,
"version": 20260521221432
"version": 20260521222249
}

View File

@@ -1 +1 @@
lKipQfJ13k9tmnFDCTT71bXXhhnx7hSVwNmVnBr0to6W8WjZUAhCT1p6/FvLI11ZgAqHTCHjTU6K1IhuP97itN3qduPXc9JocWcEVS5vkKKSsNVcf0pNMxoF37jz/J9ymHFVfSZpblTi0txulxBAu6iFG6fJsWbbjXcstHNZDckg4YTIIE0zHrhybe3KTlAcSRmhaoJjP0lDprJlipkbAUT6t68YTd0UBzbAdnzBffcwp/KvsAtZP8xfYMZBbaOUAKjvyyKUs8h5KDPo7bk26/CXZIPmLDonWxGDRQUHqK/7FS6gy7wAIW9gugP/NnTwWpvv0IXNgdPkVApyXkH/YAc8LCLKeJoKfvquNaeE+nzK+l27AuWld8TGZguUB8FhLEoxBlblKKMUfpwwAyAz29HR7mHgavaHO52UhBa0NcAY1lvRmtuosJx95Q5MiAC66iuYEFyWunbZlYcB8P3vdiOCNuc1RFTpzE9NgJONeEUQ6jL9dmUf2nLOPMB4SIR1
PCoh/AnzuyTevPckTCsSIQKxoIla7IzTNtruxi0f4gJghuP/mlrKCH4RzTVf1teHSoYQanG5fWGWIGSh396MerQdCXG/g5VMlZirrOZ6ew3gooxZ3lLg6Y3hBH3oI47KhJF5PX+z/sqeH5AOMZ7d2OrWlYNgGmRvqoyulHK2dSHhHN3OjVxVYI4x72COMhf//6IFxWxL6sp31eS+HEL43+CRGJLxYzuNBlwq6EMO0IX22NBtU2Fs3fheyIiGZVFHnHNyHs4IKXWC5EVLYrD697DnxhkGvRcNOBM0QkcDtLQBahZFpt7qeHxl5pCYyTKubUYXk9noNxR92P9ocvGAD6KARtCoHiWmkp79d0siAKJ+DjzSgIF0Ye5qAGfyMjUb7ZVPPlcYtYZj97/GEYYjxmFeuyVLnxgI7XLOJy5fgQAhiMkwGhoMG4WGK41ym3kQXvQTumnG/i8+9OPfRd58EzbqVHUS4oJgbGLdmTrfV8l2k1NCcGlZP04yNYCailnu