refactor: 电报解析列表整卡点击跳转及调试菜单切换至国际进港

- 电报解析列表项整个卡片可点击跳转详情,勾选框除外
- 开发调试自动跳转目标从国际出港改为国际进港
- 重构调试开关为通用配置,支持一键关闭和切换目标菜单

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-05 16:27:47 +08:00
parent f628ae64a9
commit 41fc2f4558
2 changed files with 15 additions and 19 deletions

View File

@@ -50,7 +50,8 @@ class HomeFragment : Fragment() {
* TODO: 正式发布前务必设置为 false
*/
companion object {
private const val DEV_AUTO_SELECT_INT_EXP = true // 自动选择国际出港开关
private const val DEV_AUTO_SELECT_MENU = true // 开发调试:自动选择菜单开关,正式发布前设为 false
private const val DEV_AUTO_SELECT_MENU_ID = Constant.AuthName.IntImp // 自动选择的目标菜单
}
private var rvLeft: RecyclerView by Delegates.notNull()
@@ -73,9 +74,8 @@ class HomeFragment : Fragment() {
rvLeft.adapter = HomeLeftAdapt(leftMenuList)
rvRight.adapter = HomeRightAdapt(getRightMenu4Id(leftMenuList.first().id))
// ========== 开发调试:自动选择"国际出港"菜单 ==========
// TODO: 正式发布前删除此行
autoSelectIntExpForDev()
// ========== 开发调试:自动选择指定菜单 ==========
autoSelectMenuForDev()
}
/////////// 左边的list循环
@@ -933,24 +933,20 @@ class HomeFragment : Fragment() {
}
/**
* 开发调试:自动选择"国际出港"菜单
* TODO: 正式发布前删除此方法或将 DEV_AUTO_SELECT_INT_EXP 设置为 false
* 开发调试:自动选择指定菜单
* 正式发布前将 DEV_AUTO_SELECT_MENU 设置为 false 即可关闭
*/
private fun autoSelectIntExpForDev() {
if (!DEV_AUTO_SELECT_INT_EXP) return
private fun autoSelectMenuForDev() {
if (!DEV_AUTO_SELECT_MENU) return
// 延迟执行,确保适配器已初始化
rvLeft.postDelayed({
val leftAdapter = rvLeft.adapter as? HomeLeftAdapt ?: return@postDelayed
// 查找"国际出港"在左侧菜单的位置
val leftMenuList = initLeftMenuData()
val intExpIndex = leftMenuList.indexOfFirst { it.id == Constant.AuthName.IntExp }
val targetIndex = leftMenuList.indexOfFirst { it.id == DEV_AUTO_SELECT_MENU_ID }
if (intExpIndex >= 0) {
// 模拟点击左侧"国际出港"菜单项
leftAdapter.simulateClick(intExpIndex)
if (targetIndex >= 0) {
leftAdapter.simulateClick(targetIndex)
}
}, 300) // 延迟300ms确保适配器已绑定数据
}, 300)
}
}