15 Commits
Author SHA1 Message Date
zijunchiang b3b8e6a12d 删除 WX_resized.jpg(本地与仓库, 无引用) 2026-09-12 01:56:38 +08:00
zijunchiang b37dbec443 曲库同步时效 30 天: 未到期启动不联网, 到期后才同步服务器数据库
- DatabaseBootstrapper: 新增 SYNC_TTL_DAYS=30 与 db_sync_at.txt 时间戳
  (lastSyncAt/isSyncDue/syncRemainingMs/syncStatusText/markSynced)
- initializeDatabase: 本地曲库可用且未到期时跳过服务器同步(无网络请求);
  到期或本地不可用才查版本并在有更新时下载
- 设置页: 曲库行显示「30 天同步: N 天后/已到期」; 更新按钮改为手动强制检查
- download(): 成功后记录同步时间(去掉一次多余的远端版本请求)
2026-09-11 23:28:09 +08:00
zijunchiang 4c792361a4 docs(AGENTS): 记录 Gitea Release 发布流程与 ASCII 附件名限制 2026-09-11 23:15:13 +08:00
zijunchiang ba31caaa38 全量迁移到 Gitea: App更新检查/JS热更新端点上链 Gitea, 文档同步
- AppUpdateManager: releases/latest 改用 gitea.kasugano.cn API
- KtvJsBridge: JS 热更新改用 Gitea raw(/raw/branch/master/...)
- MainActivity/SongApiClient/DatabaseBootstrapper/MuseDbSync: 文案与注释更新
- README.md/README.en.md: 标注本仓库地址(Gitea), 保留上游框架归属链接
- AGENTS.md: 运行时端点迁移状态
2026-09-11 23:08:46 +08:00
zijunchiang 21eca10ee2 docs: 同步策略迁移至 Gitea(origin), Gitee 停用并加钩子拦截 2026-09-11 22:57:42 +08:00
zijunchiang 57341280e4 docs: 新增 AGENTS.md 开发约定(禁用自动推送Gitee, 含构建/签名/关键约束) 2026-09-11 02:44:17 +08:00
zijunchiang 61ad000daf 麦克风: 外接输入设备热插拔跟随重建 + 音量UI改硬件调节提示
- MicActivator: 支持 restart/setPreferredDevice(API26), 输入路由切换后重建占用
- MainActivity: AudioDeviceCallback(API23+)/HEADSET广播监听, USB/外接麦插入后
  自动重建 AudioRecord 跟随当前输入设备
- 麦克风音量标准Android无输入增益API: 远程界面滑杆禁用并提示'由功放/混音器
  硬件调节', 本地调音台+/−按钮同样提示, 避免假调节无效果
2026-09-06 01:33:59 +08:00
zijunchiang 197b01f806 麦克风: 启动请求RECORD_AUDIO权限并常驻占用麦克风输入(TV/投影需激活后才输出演唱声)
- 新增 MicActivator: AudioRecord 低开销常驻打开 MIC 并循环读丢弃, 保持输入通道占用
- MainActivity: onCreate 延迟请求麦克风权限(REQUEST_MIC_PERMISSION=12), 授权后激活
- 与 MediaRecorder 录音互斥: startRecording 前 pause, stopRecording 后 resume
- onDestroy 释放
2026-09-06 00:39:53 +08:00
zijunchiang 9dc0d4b994 扫码点歌优化: 对话框显示ip:端口+隐藏提示; 手机连接时自动隐藏全屏右上角二维码
- showMobileRemoteDialog: 二维码下显示当前服务 ip:端口 与提示文字
- LocalRemoteServer: 记录请求活跃时间 hasRecentActivity()
- MainActivity: qrAutoHideMonitor 每秒检测, 手机连接点歌(4s内有请求)自动隐藏
  全屏右上角二维码, 断开后恢复显示
2026-09-05 23:10:37 +08:00
zijunchiang b5e605bade 版本显示统一为纯 1.2.5(去除 BOOT 日志/旧关于页的括号与写死版本) 2026-09-05 01:51:57 +08:00
zijunchiang ff0ae402ef 优化: 启动自动随机播放本地歌曲 + 数据设置界面卡顿修复
- 启动无恢复播放/空队列时, 曲库就绪后自动随机播放本地已下载歌曲
  (playRandomLocalSong 增加 startup 文案, 与播放完毕随机续播同逻辑, 点歌即取消)
- 数据设置: 曲库/下载数统计(逐文件校验)从主线程移到 IO 线程,
  界面秒开先显示占位, 统计完成后原位回填副标题(updateSubtitle), 不丢焦点
2026-09-05 01:37:58 +08:00
zijunchiang 303e86b475 界面: 歌曲列表行高自适应铺满屏幕(消除投影/高分屏底部空白)
- SongListAdapter: 新增 rowHeightPx/fitRowHeight/rowsPerPage, 分页列表(2列目录5行/排行6行)
  按 ListView 实际可视高度均分行高(clamp 52-160dp), 内容垂直居中, 背景整行铺满
- 滚动型列表(已点/下载/已唱)保持自然行高
- MainActivity.renderSongList: 布局完成后 post fitRowHeight
2026-09-05 00:41:00 +08:00
zijunchiang 2d3751064f 歌曲源: 新增6源(desktok.top/mm.kk456.top/w.w345.my:66/z.w345.my/b.sktv.top/w345.my) + 多源自动排序
- ktv_api.js: HOSTS 扩为 7 源(同后台多入口), 缓存标记 7→8
- 自动排序: 解析失败的源 demote 到队尾, 成功源 promote 到队首(sourceOrder 运行时可变)
- JS→Kotlin 上报实际命中源(reportSongResult), 远程日志请求源不再写死
- SongApiClient/KtvJsBridge: lastSongSourceHost 供日志使用
2026-09-04 23:06:05 +08:00
zijunchiang 5cd98f9327 README: 注明框架来源与DSH(DeepSeek Harness)重写说明, 新增编译教程 2026-09-04 21:39:30 +08:00
zijunchiang 0c26f6da68 麦动KTV: 移除Gitee数据库(改官方Muse同步), 歌曲源切w.w345.my, 远程日志+广告屏蔽
- DatabaseBootstrapper: 删除 Gitee 分片/manifest/blob 下载逻辑, 曲库只走官方 MuseDbSync
- build.gradle: 移除 GITEE_DATABASE_* 构建参数
- MainActivity: 重置数据库文案改为官方同步
- ktv_api.js: 歌曲源仅 w.w345.my, 缓存标记 7, 广告/错号资源拦截+重试
- 远程日志: 点歌记录 编号/标题/请求源/状态
2026-09-04 21:23:21 +08:00