in code/codegen/src/main/kotlin/com/android/gradle/replicator/resgen/util/PregenFileSelector.kt [45:66]
fun getRandomResourceFromQualifiers(random: Random, type: FileTypes, resourceQualifiers: List<String>): String? {
val qualifierPrefixes = resourceQualifiers.filter(String::isNotEmpty)
// Cache is faster if it exists
val allFiles =
if (fileSizeCache[type] == null) listResourceFiles(getFolderFromType(type))
else fileSizeCache[type]!!.map { it.name }
if (allFiles.isEmpty()) {
println("e: no pre-generated $type file found")
return null
}
val filteredFiles = allFiles.filter {
qualifierPrefixes.any { prefix ->
it.split("/").last().startsWith(prefix)
}
}
// If specific file does not exist, get generic one
return if (filteredFiles.isEmpty()) allFiles.sorted().random(random) else filteredFiles.sorted().random(random)
}