Skip to content

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);
- 各详情页删除确认弹窗的标题与正文及数量参数显示正常,删除/恢复功能不受影响。
Assets 2
Loading