人脸授权码输入焦点修复记录

变更日期

2026-09-03

问题现象

设置页打开人脸识别授权弹框后,只能删除后两段授权码;前两段无法继续删除,也无法点击后重新输入。

根因

  1. 原分段监听器只支持输入满 4 位后向下一段跳转。
  2. 只有第 4 段拥有“删空后回到上一段”的特殊处理,第 2、3 段删空后不会继续向前移动焦点。
  3. 焦点切换时会把非当前输入框设为不可聚焦,导致用户无法点击前面的输入框修改内容。
  4. 原实现通过向下一段追加空格触发监听,并把后 3 段长度设为 5;该占位方式与仅允许字母数字的输入过滤规则存在冲突。

修复内容

CustomFaceActivationPop.java

FaceActivationInputNavigator.java

新增不持有 Android View 的分段焦点计算类,统一前进与回退边界。

custom_input_face_activation_layout.xml

四段输入长度统一限制为 4 位,不再为占位空格预留第 5 位。

FaceActivationInputNavigatorTest.java

验证

影响范围

Git 状态

本次未执行暂存、提交或推送。