Coverage Summary for Class: ComposableInAppCallback (cloud.mindbox.mobile_sdk.inapp.presentation.callbacks)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| ComposableInAppCallback |
100%
(1/1)
|
66.7%
(4/6)
|
|
76.9%
(10/13)
|
84%
(42/50)
|
package cloud.mindbox.mobile_sdk.inapp.presentation.callbacks
import cloud.mindbox.mobile_sdk.inapp.presentation.InAppCallback
/**
* Ready-to-use implementation of InAppCallback designed with composite pattern that handles
* multiple different implementations at once
**/
public open class ComposableInAppCallback : InAppCallback {
protected val callbacks: List<InAppCallback>
public constructor(callbacks: List<InAppCallback> = listOf()) {
this.callbacks = callbacks
}
public constructor(vararg callbacks: InAppCallback) {
this.callbacks = callbacks.toList()
}
public constructor(inAppCallback: InAppCallback) {
callbacks = listOf(inAppCallback)
}
override fun onInAppClick(id: String, redirectUrl: String, payload: String) {
callbacks.forEach { callback ->
callback.onInAppClick(id, redirectUrl, payload)
}
}
override fun onInAppDismissed(id: String) {
callbacks.forEach { callback ->
callback.onInAppDismissed(id)
}
}
}