Coverage Summary for Class: FeatureToggleManagerImpl (cloud.mindbox.mobile_sdk.inapp.data.managers)

Class Class, % Method, % Branch, % Line, % Instruction, %
FeatureToggleManagerImpl 100% (1/1) 100% (3/3) 100% (10/10) 100% (9/9) 100% (62/62)


 package cloud.mindbox.mobile_sdk.inapp.data.managers
 
 import cloud.mindbox.mobile_sdk.inapp.domain.interfaces.managers.FeatureToggleManager
 import cloud.mindbox.mobile_sdk.models.operation.response.InAppConfigResponse
 import java.util.concurrent.ConcurrentHashMap
 
 internal const val SEND_INAPP_SHOW_ERROR_FEATURE = "MobileSdkShouldSendInAppShowError"
 
 internal class FeatureToggleManagerImpl : FeatureToggleManager {
 
     private val toggles = ConcurrentHashMap<String, Boolean>()
 
     override fun applyToggles(config: InAppConfigResponse?) {
         toggles.clear()
         config?.settings?.featureToggles?.forEach { (key, value) ->
             value?.let {
                 toggles[key] = value
             }
         }
     }
 
     override fun isEnabled(key: String): Boolean {
         return toggles[key] ?: true
     }
 }