一卡通设置独立标签实施计划

目标:将一卡通服务器地址和 AppID 从基础设置迁移到同级的独立“一卡通设置”标签,并保持原配置与校验行为不变。

架构:SettingActivity 继续用不可滑动 ViewPager 承载页面,SettingTab 扩展为三段并统一按位置切页;新增 SetOnecardFragment 独立持有两个配置项。现有 MMKV 键、默认值和输入校验完全复用。

文件结构

Task 1:扩展三段式设置标签

  1. rg 确认中间标签资源尚不存在。
  2. 新增“一卡通设置”文案和标签描边、卡片内边距、分隔线集中尺寸。
  3. 增加等高的中间 TextView;新增无圆角的中间选中/未选中背景。
  4. SettingTab 增加 BASIC、ONECARD、SENIOR 位置常量、统一选择回调和三项样式循环,避免散落魔法数字。
  5. 使用 JDK 8 运行 :app:compileDebugJavaWithJavac

Task 2:新增一卡通设置 Fragment

  1. 创建只包含服务器地址和 AppID 的白色圆角设置卡片,所有新增尺寸来自 dimens.xml
  2. 创建带职责注释的 SetOnecardFragment,继续读取原 MMKV 键和 OnecardSettings 默认值。
  3. 复用 ValidatedSettingInputPop、URI/数字键盘和现有地址/AppID 校验,保存后立即刷新。
  4. 将文案资源从 basic_set_onecard_* 迁移为 onecard_set_*,用户可见文字不变。
  5. 再次运行 JDK 8 Java 编译。

Task 3:接入第三页并清理基础设置责任

  1. SettingActivity 按“基础 → 一卡通 → 高级”注册三个 Fragment,并统一处理位置选择。
  2. SetBasicFragment 删除两个字段、初始化、点击分支、输入方法及不用的 import。
  3. 从基础设置布局删除两个配置项,保证 API 地址和配对码之间只保留一个分隔线。
  4. rg 验证旧资源和旧 ID 无残留,新 Fragment、ID 和 Activity 注册齐全。

Task 4:回归验证并记录变更

  1. JDK 8 运行 :app:testDebugUnitTest,期望全部通过。
  2. JDK 8 运行 :app:assembleDebug,期望生成 Debug APK。
  3. 运行 git diff --check 与只读状态检查,不暂存、不提交、不推送。
  4. 审计新布局尺寸硬编码、标签位置常量和类职责注释。
  5. 写入同名 Markdown/HTML 变更记录,包含改动、兼容性、验证证据和 APK 路径。

自检结果