blob: 6ca251cd83cc060efa53ecc98791a612a10dea35 [file] [log] [blame]
package com.android.onboarding.flags
import android.os.SystemProperties
/** A default implementation of [OnboardingFlagsProvider] using system property. */
class DefaultOnboardingFlagsProvider : OnboardingFlagsProvider {
override val isContractEnabled: Boolean
get() =
SystemProperties.getBoolean("$SYSTEM_PROPERTY_NAMESPACE.$FEATURE_CONTRACT_ENABLED", false)
override val isNodeLoggingEnabled: Boolean
get() =
SystemProperties.getBoolean("$SYSTEM_PROPERTY_NAMESPACE.$FEATURE_NODE_LOGGING_ENABLED", false)
override val isUiLoggingEnabled: Boolean
get() =
SystemProperties.getBoolean("$SYSTEM_PROPERTY_NAMESPACE.$FEATURE_UI_LOGGING_ENABLED", false)
override val isDebug: Boolean
get() = SystemProperties.getBoolean("$SYSTEM_PROPERTY_NAMESPACE.$FEATURE_DEBUG_ENABLED", false)
companion object {
// The key length has to be less that 31 characters (<18 if excluding namespace)
const val SYSTEM_PROPERTY_NAMESPACE = "aoj.feature"
private const val FEATURE_CONTRACT_ENABLED = "contract"
private const val FEATURE_NODE_LOGGING_ENABLED = "node_logging"
private const val FEATURE_DEBUG_ENABLED = "debug"
private const val FEATURE_UI_LOGGING_ENABLED = "ui_logging"
}
}