From ea72f6b2eb15304719b7e2b16f2e9082c5f5d7e0 Mon Sep 17 00:00:00 2001 From: 7015725 Date: Tue, 12 May 2026 11:06:54 +0800 Subject: [PATCH] fix: keep ToolHub app stack state on editor return --- code/th_14_panels.js | 35 +++++++++++++++++++++++++++-------- manifest.json | 6 +++--- manifest.sig | 2 +- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/code/th_14_panels.js b/code/th_14_panels.js index 3e60a69..e3f31fb 100644 --- a/code/th_14_panels.js +++ b/code/th_14_panels.js @@ -3201,7 +3201,10 @@ shortcutWrap.addView(scBody); var btnCancel = self.ui.createFlatButton(self, "取消", subTextColor, function() { self.state.editingButtonIndex = null; - refreshPanel(); + if (self.state.toolAppActive && self.popToolAppPage) { + self.state.keepBtnEditorState = true; + self.popToolAppPage("button_edit_cancel"); + } else refreshPanel(); }); bottomBar.addView(btnCancel); @@ -3301,7 +3304,10 @@ try { ConfigManager.saveButtons(buttons); self.state.editingButtonIndex = null; - refreshPanel(); + if (self.state.toolAppActive && self.popToolAppPage) { + self.state.keepBtnEditorState = true; + self.popToolAppPage("button_edit_save"); + } else refreshPanel(); self.toast("已暂存,请在列表页点击保存"); } catch (e) { self.toast("暂存失败: " + e); @@ -3375,7 +3381,8 @@ FloatBallAppWM.prototype.buildSchemaEditorPanelView = function() { header.addView(self.ui.createFlatButton(self, "新增", C.primary, function() { self.state.editingSchemaIndex = -1; - refreshPanel(); + if (self.state.toolAppActive && self.pushToolAppPage) self.pushToolAppPage("schema_editor"); + else refreshPanel(); })); var btnClose = self.ui.createFlatButton(self, "✕", C.textSecLight, function() { @@ -3391,8 +3398,13 @@ FloatBallAppWM.prototype.buildSchemaEditorPanelView = function() { ConfigManager.saveSchema(schema); self.state.tempSchema = null; self.toast("布局已保存"); - self.hideAllPanels(); - self.showPanelAvoidBall("settings"); + if (self.state.toolAppActive && self.popToolAppPage) { + self.state.editingSchemaIndex = null; + self.popToolAppPage("schema_save_all"); + } else { + self.hideAllPanels(); + self.showPanelAvoidBall("settings"); + } }); var saveLp = new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.MATCH_PARENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT); saveLp.setMargins(0, 0, 0, self.dp(8)); @@ -3467,7 +3479,8 @@ FloatBallAppWM.prototype.buildSchemaEditorPanelView = function() { } actions.addView(self.ui.createFlatButton(self, "✎", C.primary, function() { self.state.editingSchemaIndex = idx; - refreshPanel(); + if (self.state.toolAppActive && self.pushToolAppPage) self.pushToolAppPage("schema_editor"); + else refreshPanel(); })); actions.addView(self.ui.createFlatButton(self, "✕", C.danger, function() { schema.splice(idx, 1); @@ -3488,7 +3501,10 @@ FloatBallAppWM.prototype.buildSchemaEditorPanelView = function() { var btnBack = self.ui.createFlatButton(self, "返回", C.textSecLight, function() { self.state.editingSchemaIndex = null; - refreshPanel(); + if (self.state.toolAppActive && self.popToolAppPage) { + self.state.keepSchemaEditorState = true; + self.popToolAppPage("schema_edit_back"); + } else refreshPanel(); }); header.addView(btnBack); panel.addView(header); @@ -3595,7 +3611,10 @@ FloatBallAppWM.prototype.buildSchemaEditorPanelView = function() { } self.state.editingSchemaIndex = null; - refreshPanel(); + if (self.state.toolAppActive && self.popToolAppPage) { + self.state.keepSchemaEditorState = true; + self.popToolAppPage("schema_edit_save"); + } else refreshPanel(); self.toast("已暂存,请在列表页点击保存生效"); } catch (e) { self.toast("暂存失败: " + e); diff --git a/manifest.json b/manifest.json index d4e82df..1792823 100644 --- a/manifest.json +++ b/manifest.json @@ -54,8 +54,8 @@ "size": 20386 }, "th_14_panels.js": { - "sha256": "1356191b8d4da5cc668282c4d3aeb9d0a016ceb2fae0baf2d6b691606b571733", - "size": 217779 + "sha256": "69840e0f00fe0b049217ed7a4b5db8bff648d2f4c4ea2dcaff3bb1eb15c06263", + "size": 218924 }, "th_15_extra.js": { "sha256": "ffcdc8f8e4dda94658b1e32e4c4ed61e58d4525306a4a1697cccf3635b942d28", @@ -68,5 +68,5 @@ }, "keyId": "toolhub-targets-2026-rsa3072", "schema": 2, - "version": 20260512024621 + "version": 20260512030604 } diff --git a/manifest.sig b/manifest.sig index 83e8888..ebf611b 100644 --- a/manifest.sig +++ b/manifest.sig @@ -1 +1 @@ -cSL09aFJ2OR3BEJ0OwDHjWNE/DzW6d74CBwm8pkomomQc3c+EM5m8OF6+ahQxE0s+/W7p/8bTRxQyqNbDwEwSwcXCp0A1BYCkLKq3Zl6weSk45lamAqb/OsFJM4t+T+VJ4bA4FJ0jMF/R1mMDY1TpgztS5EwST6bSRLuMQDflY12RcGCDQsGwunDKcIRpJCrxZFvs6rgEANNQ6AVzW7SbT18qUk3LgUGehtpKAEtEU+87+4R9cIe9TE2OgQtgWn271U2omJF3x8BBXVqiekNI2rpWkxnsqtRpoqaMf7cugy+GcJnxiylQ3eqs1WpfIv02XzbU3vOiPckG7Xvb7R0JON7Z0Z+6FijqHgHLVK8Ga8B4oCF5WrMPccS53d5yTCgIVedi/VSprYlWi4KGC9a0nMS+/EFzJB8en3MU7OVXZt83mnRCYBPJbvcOHfkf6y7UaCyWOmtQb1v69ymGt00UPy2ihXkDVOjkiayvT69icFS5IoAqUWLZwND7DJwJekn +PhbP9/ZXAhTzly673t026tpTy4gozO9x03KIZ8JKNp2X12uN/ueoHcRW8nsun4+Pz8JouTaxM9lR+tO2CGlSFz5kACibZ8dMv2WLnKDqFLFZOYyW9kbrcAaUbZny9j9duk4dqImFwK1qN3CSa+leWC1bnxsO44wlmLXMgyT9WG1fCUVScPzn/37Fxlvg4aDHCYaKJz05ygE9Nmwnxht7aK++AXaomX8G0P0XVRm+8gmHVHKx37AqvxjwtLzogIuh51/Ja8gb/ZC24QuZRACb+zKfjnSuk6vRRy468O0tzkJtNtUllvihIk/EBOmTMShieUSNVCehADXORmK5G1JBeSz7X7Mk+K/avv+NSX7X2OC+lhMPbYEdkmGpYHZe5QY2qGF667XQI4ereaQyJWgy5zC26QKF/jK3f2SJ/IvSS+4vUZAvrhY/2MJ8OK+G7DwIaWILxDLBo1ecwrsFhadsHPAFfr6nCJKaxHCDM10XVrDE2FKdyjjZZwQHDteJ+/L/