Skip to content

OTSMail Android 0.3.3

Latest

Choose a tag to compare

@github-actions github-actions released this 07 Nov 22:41
· 4 commits to master since this release

新增功能

本版以扫码修复为主,没有新增功能。

变更

  • 扫码入口位置:从「个人设置」挪到侧边栏(抽屉)头像行右侧的扫码按钮;设置页不再保留第二个入口。长按桌面图标的「扫一扫」快捷方式与 otsmail://qr 深链保持不变。

修复

  • 二维码完全无法识别:此前用 ZXing 的 PlanarYUVLuminanceSource.rotateCounterClockwise() 旋转 90/270 度的相机帧,而该类型不支持旋转,每帧都会抛异常又被静默吞掉,界面表现为「相机有画面但扫什么都没反应」。现改为按 rowStride(含行尾 padding)自行取出 Y 平面并做 90/180/270 度旋转,再交给 ZXing 解码。
  • 分析分辨率过大:分析流此前会被选到 3024×3024,每帧旋转与二值化开销很大;现固定目标 1280×720(实测落到 960×720),明显降低每帧耗时。
  • 没有自动对焦:预览流与分析流都设置 CONTROL_AF_MODE_CONTINUOUS_PICTURE,进入扫码页后每 2.5 秒对画面中心补一次对焦,并支持点击屏幕对焦到点击位置。
  • 没有成功反馈:首次识别到 OTSMail 登录二维码时播放一声短提示音并短震动一次,命中后立即停止分析,不会重复触发。
  • 无效二维码静默无提示:识别到二维码但不是 OTSMail 格式时,明确提示「这不是 OTSMail 登录二维码」;连续扫到同一张无效码不会反复提示。

已知问题

  • 扫码端到端(网页出码 → App 扫码确认 → 网页登录)仍需真机完整走通验证。服务端 /login/qr 已确认线上可用(返回 200 与真实票据),不再存在「未部署」问题。

安装提示

  • 同签名可直接覆盖安装,登录态与本地邮件缓存保留。
  • 覆盖安装会重置通知权限(POST_NOTIFICATION 的 app-op 回到 ignore),装完需要到系统设置里手动再开启一次,否则新邮件提醒不会弹出。

本版仍未经真机验证的项

  • 有效二维码的完整链路:本版只通过 adb 日志确认了「帧能到达、90° 旋转不再抛异常、解码返回 null(画面里没有码)」,尚未在真机扫到真实网页二维码并走完确认登录。
  • 提示音与震动:实际音量、时长与听感未验证。
  • 对焦效果:自动对焦与点屏对焦后的实际识别距离、暗光成功率未验证。
  • 无效二维码提示:只在代码层确认提示文案与去重逻辑,未在真机对照测试。
  • 入口位置:抽屉头像行右侧的扫码按钮在窄屏/长邮箱地址下的排布未在真机确认。

正式签名包,可直接覆盖升级。SHA-256:fbba03f5c60bea2fdc942db3a5e7f1e1a9b25a03976168a011f791475b44e2bf

该版本的 R8 混淆映射不随 Release 公开,仅归档在本次 Actions artifact(保留 90 天,文件名 mapping-v0.3.3.txt)。