getResId function

String getResId(
  1. String fileName,
  2. Map<String, List<String>> qualifiers
)

从文件名中提取资源ID,移除所有限定符后缀

fileName 文件名 qualifiers 限定符映射表

返回移除限定符后的基础资源ID

Implementation

String getResId(String fileName, Map<String, List<String>> qualifiers) {
  var baseName = path.basenameWithoutExtension(fileName);

  var changed = true;
  while (changed) {
    changed = false;
    for (final qualifier in qualifiers.entries) {
      for (final value in qualifier.value) {
        final suffix = '_$value';
        if (baseName.endsWith(suffix)) {
          baseName = baseName.substring(0, baseName.length - suffix.length);
          changed = true;
          break;
        }
      }
    }
  }

  return baseName;
}