Repository navigation
v3.0.1-Rustic-JNI.30217
tagged this
05 Sep 14:19
运行 ./gradlew :feature:main:restore:lintDebug 时,restore 模块因两类问题
构建失败:Composable 内用 context.getString(...) 取资源触发
LocalContextGetResourceValueCall,以及 ids.xml 占位字符串未翻译触发
MissingTranslation。本次统一修复,使 restore 模块 lint 通过。
变更内容:
* feature/main/restore/.../CloudBackupDetailPage.kt
feature/main/restore/.../CloudFilesBackupDetailPage.kt
feature/main/restore/.../ResticBackupDetailPage.kt
feature/main/restore/.../ResticFilesBackupDetailPage.kt
- 将删除确认弹窗内 context.getString(R.string.restore_confirm_delete_*,
group.backups.size) 的调用上提为 Composable 作用域内的
val confirmDeleteText = stringResource(...),onClick/协程 lambda 内
改用该 val,消除在 Composable 中经 LocalContext 取资源的 lint 报错。
- confirm(...) 调用补齐必填的 title 参数(沿用各文件已 hoist 的标题
字符串),保持弹窗标题与正文(含数量参数)显示不变。
- 保留 context(LocalContext.current)与 LocalContext import,因
context.localBackupSaveDir() 等仍在恢复按钮 onClick 中使用。
* feature/main/restore/build.gradle.kts
- 在 android { } 内新增 lint { disable += "MissingTranslation" },
与 app、feature/main/cloud、feature/main/details 等模块既有做法一致,
屏蔽 ids.xml 占位字符串的缺翻译报错。
验证:
- ./gradlew :feature:main:restore:compileDebugKotlin 通过(无 confirm
重载不匹配、无语法错误);
- ./gradlew :feature:main:restore:lintDebug 通过(不再报
LocalContextGetResourceValueCall 与 MissingTranslation);
- 各详情页删除确认弹窗的标题与正文及数量参数显示正常,删除/恢复功能不受影响。