图库: 锁屏长按退格在真机可达(仅在锁屏页启用长按)

M29 评审 P2-1:SDK 长按是 opt-in,全仓没有运行时调用
meow_ui_set_long_press_cb,meow_input_long_press_poll 恒返回 0,真机上
MEOW_EV_LONG_PRESS 永不产生——「长按退格清空」只表现为删一位。

- app.c 注册 no-op 长按回调,但只在 ACT_LOCK 为顶层页时启用(进主循环前对齐
  一次 + on_tick 每拍对齐),解锁 pop 后置 NULL。全程开启会让长按触发后的
  抬手不再产生 TAP/SWIPE,吞掉书库/阅读器里「按住 >=500ms」的点击。
- test_settings_lock_host:长按用例改走真实 SDK 路径——未注册 poll==0(P2
  根因)、注册后按住 700ms 产出 LONG_PRESS 且坐标=退格键心、被锁屏 view 消费、
  抬手不补发 TAP、解锁后关掉再 poll==0。
- lock.c 头注释补上该 opt-in 依赖,避免以后只看锁屏页时误判可达。
This commit is contained in:
AskaEth committed 2026-11-06 11:46:31 +08:00
1 parent 606a04a44e
commit 87f4ad0a82
3 files changed
+64 -10

No files matched your search

+3 -1
View File
@@ -8,7 +8,9 @@
* 「点好几下才弹键盘」;页内键盘完全离线、无 IME 会话,首次点按必响应;
* - 4-8 位数字(logic/pin 的 MR_PIN_MIN_LEN/MAX_LEN),顶部只显示星号/圆点数位,不回显明文;
* 满 4 位后「确认」才可用;错误 → 清空 + 提示;通过 → page_pop 回书库;
* - 长按「退格」清空已输入(不做惩罚性计数/锁定);
* - 长按「退格」清空已输入(不做惩罚性计数/锁定);SDK 长按是 opt-in,需 app.c 在锁屏
* 为顶层页时注册 meow_ui_set_long_press_cb(事件仍先走本页 view 分发),否则真机上
* MEOW_EV_LONG_PRESS 不会产生、长按只会退化成单删一位;
* - 左缘返回**必须**由本页 on_event 消费 SWIPE(meow_view_dispatch_event 先于 app.c 的
* on_swipe;否则 app.c 对非 library 页无条件 page_pop,PIN 会被绕过);TAP/LONG_PRESS
* 也一律消费,物理键不接(返回 0,交 app.c 的 on_key 仅日志);屏底 28px 上滑热区