tangem-app-android-audited/buildSrc/src/main/java/ConfigFieldBuilder.kt
2023-03-03 17:18:36 +08:00

36 lines
No EOL
1 KiB
Kotlin

typealias ConfigFieldBuilder = (String, String, String) -> Unit
class BuildConfigFieldFactory(
private val fields: List<Field>,
private val builder: ConfigFieldBuilder,
) {
fun create() {
fields.forEach { field -> builder(field.type, field.name, field.value) }
}
}
/**
* Build config field
*
* @property type field type
* @property name field name
* @property value field value
*/
sealed class Field(val type: String, val name: String, val value: String) {
class Environment(value: String) : Field(type = "String", name = "ENVIRONMENT", value = "\"$value\"")
class TestActionEnabled(isEnabled: Boolean) : Field(
type = "Boolean",
name = "TEST_ACTION_ENABLED",
value = isEnabled.toString(),
)
class LogEnabled(isEnabled: Boolean) : Field(type = "Boolean", name = "LOG_ENABLED", value = isEnabled.toString())
class TesterMenuAvailability(isEnabled: Boolean) : Field(
type = "Boolean",
name = "TESTER_MENU_ENABLED",
value = isEnabled.toString(),
)
}