Coverage Summary for Class: MaxInappsPerSessionLimitChecker (cloud.mindbox.mobile_sdk.inapp.data.checkers)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| MaxInappsPerSessionLimitChecker |
100%
(1/1)
|
100%
(2/2)
|
100%
(4/4)
|
100%
(10/10)
|
100%
(41/41)
|
package cloud.mindbox.mobile_sdk.inapp.data.checkers
import cloud.mindbox.mobile_sdk.inapp.data.managers.SessionStorageManager
import cloud.mindbox.mobile_sdk.inapp.domain.interfaces.checkers.Checker
import cloud.mindbox.mobile_sdk.logger.mindboxLogI
internal class MaxInappsPerSessionLimitChecker(
private val sessionStorageManager: SessionStorageManager
) : Checker {
override fun check(): Boolean {
mindboxLogI("Checking max inapps show per session limit")
return when (val maxInappsPerSessionCount = sessionStorageManager.inAppShowLimitsSettings.maxInappsPerSession) {
null -> {
mindboxLogI("Parameter limit inapp for show per session not specify. Work without limits for show per session")
true
}
else -> {
val isAllowed = maxInappsPerSessionCount > sessionStorageManager.inAppMessageShownInSession.size
mindboxLogI("Inapp shown in session count: ${sessionStorageManager.inAppMessageShownInSession.size}, limit: $maxInappsPerSessionCount, Show allowed: $isAllowed")
isAllowed
}
}
}
}