Repository navigation
v0.43.1 · Token 额度小组件不再留白
Pre-releaseToken 额度桌面小组件的各行改成均分标题下方的高度,拉高时行距跟着变大,底部不再空出一块;尺寸档补到 560dp 高。God 更新后 ColorOS 会把小组件退回初始布局,现在初始布局带名称和「待更新」,后台检查也会把它重新画出来。
widget_tokens.xml:六行wt_row1…6改为layout_height=0dp+layout_weight=1+gravity=center_vertical。显示出来的行平分剩余高度,隐藏的行不占位。所以格子比所选尺寸档高时,多出的高度也会分到各行,不会堆在底部。GodWidgets.tokens:去掉原来补在行距上的spare(每行最多补 12dp,补不完的部分就成了底部空白),各行只保留原来的固定上边距。GodWidgets.SIZES:两种宽度都补上 400 / 480 / 560dp 三档,一共 16 档(RemoteViews尺寸映射的上限)。正常字号下 330dp 已经能排满 6 行,新档位主要让调大字号后、拉高的小组件多排几行;其他四个数字小组件沿用同一套档位,画法不变。- 初始布局:Token 额度、重置日历、运行状态、微信消息改用新的
widget_waiting_*.xml:同样的卡片,God 图标、名称、琥珀色「待更新」和居中的「打开 God 更新」,不含任何账号数据。原来的initialLayout是没填内容的数据布局,退回时只剩一行「打开 God」和大片空白。God 小组件和时区时钟的初始布局本来就能正常显示,没有改。 - 后台检查(约 2 分钟一次):
GodWidgets.read里只要有一条接口因为刚读过被跳过或读取失败,就再调用一次refreshAll和GodWidget.refresh。这样即使没有新读数,被 ColorOS 退回初始布局的小组件也会在下一次检查时重新画出来,不用打开 App。 - 没有改动:小组件显示的数据和脱敏规则、认证、
FLAG_SECURE。
验证:289 项 JVM 测试、Debug/Release 构建与 lint 通过(lint 0 错误)。正式签名包覆盖安装到 Find(PMA110),versionCode 70,安装文件 SHA256 与构建一致(d2ca72c7…835151b6),签名为正式证书。桌面上已放的 Token 额度小组件(约 4×2)截图:9 个账号排成两列 5 行,行距均匀,底部没有空白。在后台覆盖安装、之后回到桌面的场景复现了两次:日志里都有 ColorOS 的 forceUpdateAppWidget … remoteViews is null;God 没有被打开,小组件分别在 22:57:32 和 22:59(装完后紧接着的后台检查)重新画出来。
未验证:两次都没拍到占位布局本身(第一次退回桌面时人在应用抽屉,第二次检查比截图先到);新增的「跳过时也重画」这条路径只靠代码保证,两次恢复走的都是原有的读取后重画。4×4 及更高的摆放和 1.6 倍字体也没有在桌面上验证。
验证:GitHub Actions 自动构建(https://github.com/robbywang25/robby-console-android/actions/runs/40105419116)。289 项 JVM 测试、Debug/Release 构建与 lint 通过;签名证书 SHA-256 与正式证书一致,Release 附件下载回读后校验通过。
附 APK 与 SHA256SUMS,Android 11 及以上,可覆盖旧版。