目标:将一卡通服务器地址和 AppID 从基础设置迁移到同级的独立“一卡通设置”标签,并保持原配置与校验行为不变。
架构:SettingActivity 继续用不可滑动 ViewPager 承载页面,SettingTab 扩展为三段并统一按位置切页;新增 SetOnecardFragment 独立持有两个配置项。现有 MMKV 键、默认值和输入校验完全复用。
SetOnecardFragment.java、set_onecard_fragment_layout.xml 和中间标签选中/未选中背景。SettingActivity、SettingTab、SetBasicFragment 及对应布局、字符串和尺寸资源。rg 确认中间标签资源尚不存在。SettingTab 增加 BASIC、ONECARD、SENIOR 位置常量、统一选择回调和三项样式循环,避免散落魔法数字。:app:compileDebugJavaWithJavac。dimens.xml。SetOnecardFragment,继续读取原 MMKV 键和 OnecardSettings 默认值。ValidatedSettingInputPop、URI/数字键盘和现有地址/AppID 校验,保存后立即刷新。basic_set_onecard_* 迁移为 onecard_set_*,用户可见文字不变。SettingActivity 按“基础 → 一卡通 → 高级”注册三个 Fragment,并统一处理位置选择。SetBasicFragment 删除两个字段、初始化、点击分支、输入方法及不用的 import。rg 验证旧资源和旧 ID 无残留,新 Fragment、ID 和 Activity 注册齐全。:app:testDebugUnitTest,期望全部通过。:app:assembleDebug,期望生成 Debug APK。git diff --check 与只读状态检查,不暂存、不提交、不推送。