feat: check updates from self-hosted Gitea (CN-reachable)

Switch UpdateChecker source from api.github.com (flaky in CN) to the
self-hosted Gitea at git.sunlunfan.com. Releases must now be published
to Gitea too (github stays as mirror). parseRelease unchanged — Gitea
API fields are GitHub-compatible.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-09 14:05:06 +08:00
parent 5b54309124
commit 4fcafeaf0d
2 changed files with 7 additions and 6 deletions
+4 -4
View File
@@ -84,7 +84,7 @@ NotifyListenerService (系统通知入口)
| `core/CarrierDetector.kt` | SIM MCC+MNC 映射到运营商(移动/联通/电信/广电),供短信兜底发免费查询码。 |
| `core/CarrierBalanceQuery.kt` | 向运营商服务号发查询短信、解析回执余量、余额≤5 自动挂起。 |
| `core/SmsFallbackForwarder.kt` | 断网时把紧要通知(验证码/来电)用短信发到 iPhone,5 分钟限频 + 余额检查。 |
| `core/UpdateChecker.kt` | 查 GitHub Releases 最新版(24h 节流)→ 语义比较 → 下载 APK → FileProvider 调起系统安装器。 |
| `core/UpdateChecker.kt` | 查 Gitea Releases 最新版(`git.sunlunfan.com`,国内可达,24h 节流)→ 语义比较 → 下载 APK → FileProvider 调起系统安装器。 |
| `store/SettingsStore.kt` | Bark 服务器列表、全局开关、广告关键词、图标前缀等。`MutableStateFlow` + DataStore。图标前缀默认 github raw`DEFAULT_ICON_PREFIX`);国内不稳时可手填自建 Gitea `https://git.sunlunfan.com/song/a2i/raw/branch/main/icons/`。 |
| `store/AppRulesStore.kt` | 黑/白名单模式 + 默认黑名单(系统 App + 输入法 + 三星剪贴板/键盘 + GMS + 录音机/相册/查找/密码管理 + 通话管理/AI通话);默认黑名单带版本号 `bl_version`,升级时把新增噪音包合并进老用户黑名单(只增不删)。 |
| `ui/nav/AppNav.kt` | 4 个底部 Tab + 日志页。 |
@@ -114,8 +114,8 @@ NotifyListenerService (系统通知入口)
- 当前版本:`versionCode = 9``versionName = "1.5.1"`(位于 `app/build.gradle.kts`)。**每次改动后同步递增 versionCode/versionName,并同步更新本节。**
- 远端仓库:`https://github.com/lsxf/a2i.git`,默认分支 `main`
- 提交策略:`.gitignore` 已排除 `app/build``.gradle``.kotlin``local.properties``.claude/``do.ps1``gh-token.txt`(发版用 token)、`*.token`、截图与临时文件,**不要**提交它们。
- 发版流程:
- 发版流程github + gitea 双发;UpdateChecker 查 Gitea 源,故 Gitea 必发)
1. 递增 `versionCode`/`versionName``./gradlew assembleRelease`(产物 `app/build/outputs/apk/release/app-release.apk`
2. `git tag -a v{versionName} -m "..."``git push origin v{versionName}`
3. 本机无 `gh` CLI:用 python(urllib) 调 GitHub API 创建 Release + 上传 APK。token 放仓库根 `gh-token.txt` gitignore),脚本 `open('gh-token.txt')` 读取,**勿**把 token 写进命令参数。注意 Git Bash `/tmp` 与 Windows python 路径不一致,脚本内一律用项目相对路径
2. `git tag -a v{versionName} -m "..."``git push origin v{versionName}`origin 推 github + gitea
3. 本机无 `gh` CLI:用 python(urllib) 调 API 创建 Release + 上传 APK。token 分别`gh-token.txt`GitHub)和 `gitea-token.txt`Gitea,均 gitignore),脚本 `open(...)` 读取,**勿**把 token 写进命令参数。脚本内一律用项目相对路径(Git Bash `/tmp` 与 Windows python 不一致
- UI 现状:统一品牌科技感主题(固定品牌色 + 自定义 Typography + 共享组件层),深浅色双方案,关闭动态取色;新组件统一通过 `ui/Components.kt` 复用,避免各页面各拼一套样式。