Coverage Summary for Class: PushPermissionInAppAction (cloud.mindbox.mobile_sdk.inapp.presentation.actions)
| Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| PushPermissionInAppAction |
100%
(3/3)
|
|
100%
(9/9)
|
100%
(24/24)
|
| PushPermissionInAppAction$execute$1 |
0%
(0/1)
|
0%
(0/2)
|
0%
(0/1)
|
0%
(0/7)
|
| Total |
75%
(3/4)
|
0%
(0/2)
|
90%
(9/10)
|
77.4%
(24/31)
|
package cloud.mindbox.mobile_sdk.inapp.presentation.actions
import cloud.mindbox.mobile_sdk.inapp.presentation.MindboxView
import cloud.mindbox.mobile_sdk.logger.mindboxLogI
internal interface InAppAction {
fun execute(mindboxView: MindboxView?): InAppActionResult
}
internal class RedirectUrlInAppAction(val url: String, val payload: String) : InAppAction {
override fun execute(mindboxView: MindboxView?): InAppActionResult {
return InAppActionResult(
redirectUrl = url,
payload = payload,
shouldDismiss = shouldDismiss()
)
}
private fun shouldDismiss(): Boolean {
return url.isNotBlank() || payload.isNotBlank()
}
}
internal class PushPermissionInAppAction(
val payload: String
) : InAppAction {
override fun execute(mindboxView: MindboxView?): InAppActionResult {
mindboxLogI("In-app for push activation was clicked")
return InAppActionResult(
redirectUrl = "",
payload = payload,
shouldDismiss = shouldDismiss(),
onCompleted = { mindboxView?.requestPermission() }
)
}
private fun shouldDismiss(): Boolean {
return true
}
}