v1.2 · 学习弹幕 + 推送整合
🔗 整合
- 单服务、单通知:推送调度与学习弹幕合并进唯一的常驻前台服务
BotService,
通知栏由两条常驻通知(「推送运行中」+「学习弹幕已开启」)并为一条,
一行里同时交代推送时段与弹幕开关。少一个常驻服务,也少一份内存与唤醒开销。
- 一次推送、两种呈现:闹钟到点推送一批单词时,同一批词既进通知、也按同样顺序以弹幕划过
(批次优先,节奏上限 2.5 秒一个);其余时间按你设定的频率随机弹。
菜单里的「立即推送一批」行为一致。
✨ 新增
- 学习弹幕(悬浮窗):使用手机时从屏幕右侧向左划过「单词 + 释义」,全天生效,不受推送时段限制。
- 频率按 个/秒 自定义,亮屏 / 熄屏独立(熄屏默认
0 = 不弹);
- 样式可调:字体(默认 / 衬线 / 等宽)、字号、颜色、加粗,用描边阴影保证任意背景可读;
- 多条弹幕同时存在(最多 12 条),每条独占一条纵向「泳道」,互不压住、各自飞完才消失。
- 选词与你当天的学习对齐:随机弹幕从「今天计划内的词」里抽,
并补上「已到期、但被 reviewCap 挤出今天计划」的复习词;复习词权重 3×、新词 1×。
只有当天计划尚未生成时才退回全词库兜底。
- 深色模式:全部界面(含设置页与对话框)自动跟随系统深浅色。
🐛 修复
- 高频「单词频闪」:泳道 8→12 且绝不复用已占泳道,没有空泳道时宁可不弹;
同时去掉「新弹幕一来就删掉半路那条」的淘汰。实测同泳道叠字 80% → 0%,
弹幕存活时长中位 4.20s(被截断)→ 5.73s(完整飞完)。
- 弹幕被推送时段闸掉:设好频率却因时段已过而完全不弹,且界面无任何提示 —— 改为开关打开即全天生效。
- 弹幕服务被系统杀进程后静默停摆(要重开 App 才恢复):改为每 tick 实时读系统亮屏状态,
并由每批推送闹钟与开机广播顺带把服务重新对齐。
- 多条弹幕并存:旧实现同时只保留一条,新弹幕一来就把上一条删掉,表现为「只移动一点就飞走了」。
- 保存初试日期清空当天计划:在设置页点「保存并开始」时,若日期没变不再重排计划。
📦 安装
pm install -r -d kaoyan-widget-v1.2.apk
⚠️ 本项目由 AI 生成,仅供学习交流;定时 / 通知 / 权限相关行为请自行评估后再安装。