fix: register ToolApp back animation after attach
This commit is contained in:
@@ -468,11 +468,9 @@ FloatBallAppWM.prototype.registerPanelPredictiveBack = function(panel, which) {
|
|||||||
|
|
||||||
var priority = 0;
|
var priority = 0;
|
||||||
try {
|
try {
|
||||||
if (String(which || "") === "tool_app" && android.window.OnBackInvokedDispatcher.PRIORITY_OVERLAY !== undefined) {
|
// ColorOS overlay 窗口用 PRIORITY_OVERLAY 时可能只触发最终返回,不给 CoreBackPreview 进度。
|
||||||
priority = android.window.OnBackInvokedDispatcher.PRIORITY_OVERLAY;
|
// 这里对 ToolApp 也统一用 DEFAULT(0),与已验证规则文件实现一致,优先换取系统预测返回动画回调。
|
||||||
} else {
|
priority = android.window.OnBackInvokedDispatcher.PRIORITY_DEFAULT;
|
||||||
priority = android.window.OnBackInvokedDispatcher.PRIORITY_DEFAULT;
|
|
||||||
}
|
|
||||||
} catch (ePri) { priority = 0; }
|
} catch (ePri) { priority = 0; }
|
||||||
dispatcher.registerOnBackInvokedCallback(priority, cb);
|
dispatcher.registerOnBackInvokedCallback(priority, cb);
|
||||||
if (!this.state.panelBackCallbackEntries) this.state.panelBackCallbackEntries = [];
|
if (!this.state.panelBackCallbackEntries) this.state.panelBackCallbackEntries = [];
|
||||||
@@ -502,10 +500,25 @@ FloatBallAppWM.prototype.attachPanelSystemKeyHandler = function(panel, which) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
panel.post(new java.lang.Runnable({ run: function() {
|
var registerAfterAttach = function() {
|
||||||
try { panel.requestFocus(); } catch(eFocus) {}
|
try { panel.requestFocus(); } catch(eFocus) {}
|
||||||
try { self.registerPanelPredictiveBack(panel, which); } catch(eBack) {}
|
try { self.registerPanelPredictiveBack(panel, which); } catch(eBack) {
|
||||||
} }));
|
try { safeLog(self.L, 'w', "panel predictive register after attach fail: " + String(eBack)); } catch(eLog) {}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
try {
|
||||||
|
panel.addOnAttachStateChangeListener(new android.view.View.OnAttachStateChangeListener({
|
||||||
|
onViewAttachedToWindow: function(v) {
|
||||||
|
try { v.post(new java.lang.Runnable({ run: registerAfterAttach })); } catch(ePost) { registerAfterAttach(); }
|
||||||
|
},
|
||||||
|
onViewDetachedFromWindow: function(v) {
|
||||||
|
try { self.unregisterPanelPredictiveBack(v); } catch(eUnreg) {}
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
} catch (eAttach) {
|
||||||
|
safeLog(self.L, 'w', "add attach listener fail: " + String(eAttach));
|
||||||
|
}
|
||||||
|
panel.post(new java.lang.Runnable({ run: registerAfterAttach }));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
safeLog(this.L, 'e', "attachPanelSystemKeyHandler fail which=" + String(which || "") + " err=" + String(e));
|
safeLog(this.L, 'e', "attachPanelSystemKeyHandler fail which=" + String(which || "") + " err=" + String(e));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,8 +34,8 @@
|
|||||||
"size": 7938
|
"size": 7938
|
||||||
},
|
},
|
||||||
"th_09_animation.js": {
|
"th_09_animation.js": {
|
||||||
"sha256": "aeaae4c69212000c549d3a5835b4e13efc2665c08b98c76835ead092bab6afc3",
|
"sha256": "91c7793b4a03ac07f1b275486be4f2c5ed0142bdd13dbb13c107149791a84189",
|
||||||
"size": 37646
|
"size": 38387
|
||||||
},
|
},
|
||||||
"th_10_shell.js": {
|
"th_10_shell.js": {
|
||||||
"sha256": "0ed793079c2f6ba7d29f4c0d411705cb72419f45f572cbe37ed32ac16527a8bc",
|
"sha256": "0ed793079c2f6ba7d29f4c0d411705cb72419f45f572cbe37ed32ac16527a8bc",
|
||||||
@@ -68,5 +68,5 @@
|
|||||||
},
|
},
|
||||||
"keyId": "toolhub-targets-2026-rsa3072",
|
"keyId": "toolhub-targets-2026-rsa3072",
|
||||||
"schema": 2,
|
"schema": 2,
|
||||||
"version": 20260514102839
|
"version": 20260514103247
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
WxsHH0184CoBLfPkBU3QRHBovKUizXZrKGN77cMNvox5S6icOVppkMK3m2AGuDCnBnkfFJaldBAmCYdjDnVM0Be0wPhpjdeX+N126WzSSm4dUn4XrtwUkNGJO/Uq7W5tf67nMvCnKKWYsVg4Pak63x15LiLXFARDZVqi2uD2R62Xvp1VMmTm/xR0zQcxcnxeK2oLQocf5fls0U90ps8TEIITk9KqqtAW/nQbdGC5PYDFi3/F+SmhiKdHFYmArsWpgfEvNrvqMUuJ6VtK+agLEcsHrLP47tbUoOZclN7cDKyhKcc/6XjTLNCJFnX9xm0dKi6v0rk5YA4bqC0cMXjkgpI7n9oqP/wHCU6dFmCEOClKJBc2r7hLD9rrGozIocP/ivh4aF7CdKvN1xIFaXSHM+XFk3yZ7kTSqCvwL41bZk6gjSmd0Z1frjRg2ydlGVQ0p15D6l5l06HJjKr/EeWGe1tgi69DTSf0vjGonCSHSIuMussijUl1HETHdSiu4KaB
|
FaKtS+QxUdi5mfcpY1c3/2lFN/9ZYMdXlhIM+Mtvzyz+K4Kp27beml/iGWWvk6q2LxQnOT70DNwZA+GK5viK+5ENen0xW2cmDHw2ETdl/SZ9dPfZraw6yXgzEF+CGsqS02fU0rilIr5lOc9sEOPGA5QDP0CXvV7zzvOWaT0K5rUn7XoTsy4gVFHCPjVN1jCEsM3svFiq9bZdhjHrasqavFtQ0f0NfLCyJA/IRpGhCllOku2klSe/nOE+9fa7EvVsU6vWIxIR/sP667Xxob5GC9hG9mKtefCAtob0PTIquT8Y8pbKWm43FpRW+GXO5UpiUik9OHGjPNO+sYNB/vkukAMJMONvavmh/+DXqpaUqXv9Gm1KrCLh6ChJnjihPZk+Hro76okQW3pJhsblwaC3lj6aYUNeW901/yh8FQxQE3QQRi/S3RB5uskvqe92tbWXUdFrcazuvblplJ/2lnayrcR8ggzoLl+ZkDP1VtX3paNChhmO2NFtj9W7lOhUXvcG
|
||||||
|
|||||||
Reference in New Issue
Block a user