android: fix inverted device-orientation mapping (real accelerometer reads world-up; emulator uses gravity convention)
This commit is contained in:
@@ -111,6 +111,10 @@ res/drawable/*.xml 自绘矢量图标(双弧圆等可靠几何图形
|
||||
Display.rotation 恒 0 不可用)。顶栏/底部导航条目 `graphicsLayer rotationZ=-φ`
|
||||
原位预旋转;渲染器 OSD 文字 `canvas.rotate(-φ)` 绕锚点旋转(标记圆点、色标条
|
||||
几何仍钉死在图像上)。对话框与其他页签暂不补偿。
|
||||
- **加速度计符号约定(第七轮教训,勿改回)**:真机 TYPE_ACCELEROMETER 静止读数
|
||||
指向世界上方(竖屏正持 y=+9.81);模拟器虚拟传感器是反的重力约定(y=-9.81)。
|
||||
DeviceOrientation 映射按**真机约定**写,模拟器测试须用反号值驱动
|
||||
(φ=0→`adb emu sensor set acceleration 0:9.81:0`)。
|
||||
- **图像恒 90°CW 绘制为 3:4 竖向**,填满可用区域(顶栏下~底导航上)。
|
||||
- **文字/图标恒屏幕水平**(可读);标记文字位置自动跟随(probeToScreen 固定 90° 映射:
|
||||
`fx=1-sy/120, fy=sx/160`)。
|
||||
|
||||
@@ -154,6 +154,18 @@
|
||||
- [x] 单元测试全过;APK 已更新。
|
||||
- 注:对话框(调色板等)与其他页签内容未做补偿旋转(保持竖屏可读),如需再加。
|
||||
|
||||
## 用户反馈修复 第七轮(2026-09-07,真机朝向全反修复)
|
||||
|
||||
- [x] **用户反馈**:真机正持竖屏时屏幕内容倒立,其他方向也全反。
|
||||
- [x] **根因**:第六轮把加速度计符号约定写反。Android 真机 TYPE_ACCELEROMETER
|
||||
静止读数 = "加速度减重力",指向世界上方向(平放屏幕朝上 z=+9.81、竖屏正持
|
||||
y=+9.81);模拟器虚拟传感器却是重力向量约定(正持 y=-9.81),故模拟器测试
|
||||
"通过"而真机全反(所有姿态差 180°)。
|
||||
- [x] **修复**:DeviceOrientation 映射改为 (0,+g)=0、(-g,0)=90、(0,-g)=180、(+g,0)=270;
|
||||
代码注释明确标注"勿按模拟器默认值改回"。模拟器用反号值复测:姿态 0 恢复正常
|
||||
正持显示,90/180/270 补偿几何不变(preview_fix_pose*_v7.png)。
|
||||
- [x] 单元测试全过;APK 已更新。
|
||||
|
||||
## 待办
|
||||
|
||||
- 真机USB实测(温度绝对值标定、FFC/录像/MDT保存端到端)
|
||||
|
||||
Reference in New Issue
Block a user