fix: isolate UI button click guards
This commit is contained in:
@@ -210,7 +210,12 @@ FloatBallAppWM.prototype.ui = {
|
|||||||
var rippleColor = app.withAlpha ? app.withAlpha(txtColor, 0.1) : 0x22888888;
|
var rippleColor = app.withAlpha ? app.withAlpha(txtColor, 0.1) : 0x22888888;
|
||||||
btn.setBackground(this.createTransparentRippleDrawable(rippleColor, app.dp(8)));
|
btn.setBackground(this.createTransparentRippleDrawable(rippleColor, app.dp(8)));
|
||||||
btn.setOnClickListener(new android.view.View.OnClickListener({
|
btn.setOnClickListener(new android.view.View.OnClickListener({
|
||||||
onClick: function(v) { app.touchActivity(); app.guardClick("ui_btn", INTERACTION_CONSTANTS.CLICK_COOLDOWN_MS, function(){ if(onClick) onClick(v); }); }
|
onClick: function(v) {
|
||||||
|
app.touchActivity();
|
||||||
|
var guardKey = "ui_btn";
|
||||||
|
try { guardKey = "ui_btn_" + String(java.lang.System.identityHashCode(v || btn)); } catch(eKey) {}
|
||||||
|
app.guardClick(guardKey, INTERACTION_CONSTANTS.CLICK_COOLDOWN_MS, function(){ if(onClick) onClick(v); });
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
return btn;
|
return btn;
|
||||||
},
|
},
|
||||||
@@ -228,7 +233,12 @@ FloatBallAppWM.prototype.ui = {
|
|||||||
btn.setBackground(this.createRippleDrawable(bgColor, pressedColor, app.dp(24)));
|
btn.setBackground(this.createRippleDrawable(bgColor, pressedColor, app.dp(24)));
|
||||||
try { btn.setElevation(app.dp(2)); } catch(e) { safeLog(null, 'e', "catch " + String(e)); }
|
try { btn.setElevation(app.dp(2)); } catch(e) { safeLog(null, 'e', "catch " + String(e)); }
|
||||||
btn.setOnClickListener(new android.view.View.OnClickListener({
|
btn.setOnClickListener(new android.view.View.OnClickListener({
|
||||||
onClick: function(v) { app.touchActivity(); app.guardClick("ui_btn", INTERACTION_CONSTANTS.CLICK_COOLDOWN_MS, function(){ if(onClick) onClick(v); }); }
|
onClick: function(v) {
|
||||||
|
app.touchActivity();
|
||||||
|
var guardKey = "ui_btn";
|
||||||
|
try { guardKey = "ui_btn_" + String(java.lang.System.identityHashCode(v || btn)); } catch(eKey) {}
|
||||||
|
app.guardClick(guardKey, INTERACTION_CONSTANTS.CLICK_COOLDOWN_MS, function(){ if(onClick) onClick(v); });
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
return btn;
|
return btn;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
"size": 5598
|
"size": 5598
|
||||||
},
|
},
|
||||||
"th_04_theme.js": {
|
"th_04_theme.js": {
|
||||||
"sha256": "dbfce3c493438843dc7285765f61007b24df5db972b8877a81c4b86ae7b9f7ec",
|
"sha256": "16a7121c734fccae17b9f8a23c1f0758d3a765541d1de4d6159747fc92bc26a4",
|
||||||
"size": 42168
|
"size": 42568
|
||||||
},
|
},
|
||||||
"th_05_persistence.js": {
|
"th_05_persistence.js": {
|
||||||
"sha256": "8cc52d3dacc8ac3c1b5aecf6fc399a2fe516402955799eddbd07dc9195c10d40",
|
"sha256": "8cc52d3dacc8ac3c1b5aecf6fc399a2fe516402955799eddbd07dc9195c10d40",
|
||||||
@@ -68,5 +68,5 @@
|
|||||||
},
|
},
|
||||||
"keyId": "toolhub-targets-2026-rsa3072",
|
"keyId": "toolhub-targets-2026-rsa3072",
|
||||||
"schema": 2,
|
"schema": 2,
|
||||||
"version": 20260521205945
|
"version": 20260521210640
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
NgnUXqGR4ldz62G8+pQBYI2C+RXgU06Tuy9BlhXswjiyDCcRUgON/nMLk4Vo99qeDHgrvyG/sqeE2RAUBAFWmBJbEF0t1Wbo/rBV43CviYaHthC7P/5mt17oA7Z2jU5L67wT9l4CvZ5qQ0a0R/7dUinAjUt2WLV23ZAZOp+RuEXP29x6VSuh+HmGa01sP4Rg/kZn2HL+mv5nQ67ZcIZBjEoxPYIbXlnUnlVGzaN8CqtBgkB5AE+IODjkBfA3Mrkn/n6nzUOnmpYNBCLEsQuQ/P3yhTiX4NqYvD2PFxViJWsivzDKvQcWbOxqRd3QGk8GwVt8/FOZnj29sUTUz9s+qIFz0MdWSyMXAH0NVtOyxNcz+pjIWtCdj7lhbgcOTJtz1Keqvv6fbBbpe92Q+e5+egusOTUzjWZIStnqygPSjvsV/jOxt7gFhBthujoLgZ2VfQdP/yXZ2uMLen1RO4kPwfgO37NYXYFodMgbqlopR8KJziMN5fM5/k+C4BaX+KPU
|
X1m1Kq0cC137nSen7CwXEodW4fD29TnwczflnH6hXlmwSfOw8+GaNx/kOqfUWxOwxJF7AlzBBOh8bxpc8iVq2SuPfm4qIz4SwW38YSGzTu0gFBNjO9DH1woN33rt3RhIEN2uYQCIef8W8JbtZkcgjS9sOnC42thixgdzmxZkaZPVnw3siIL9bdKyzKNTiro++A4ZRjf3rSuv4cGJ38kBqOu0w0D/dR7S+/iiSqGL710cEJtWXnfgzFcLzewOACUc7XfWT9k3dJraqc/OuvgIQUIuToIaPzIccxBoSppW7OlYXpc4EdR2vspMjlIjyMsaOMn2B3LxCK+BLqp6l0iCQ8HNkHIKlTzk9Fgzz86USf0DwrW7/SNNYNUkyepHnk13O6Dx9CE3j96Qb4V8nKK4HGvMUAg2MRx5yEvbqmgN2P6ogi55OfAlR2kXdhCeMkrpB0wPKg5AtJ0l/d7uJzKgys1vAaXACN6NzSJVSOyVq16qBgk5yH2sD6M/AQ8ykZdn
|
||||||
|
|||||||
Reference in New Issue
Block a user