Coverage Summary for Class: CopyPayloadInAppCallback (cloud.mindbox.mobile_sdk.inapp.presentation.callbacks)
| Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| CopyPayloadInAppCallback |
75%
(3/4)
|
100%
(2/2)
|
85.7%
(6/7)
|
100%
(61/61)
|
| CopyPayloadInAppCallback$callbackInteractor$2 |
100%
(1/1)
|
|
100%
(1/1)
|
100%
(2/2)
|
| CopyPayloadInAppCallback$clipboardManager$2 |
100%
(1/1)
|
|
100%
(1/1)
|
100%
(2/2)
|
| Total |
83.3%
(5/6)
|
100%
(2/2)
|
88.9%
(8/9)
|
100%
(65/65)
|
package cloud.mindbox.mobile_sdk.inapp.presentation.callbacks
import cloud.mindbox.mobile_sdk.di.mindboxInject
import cloud.mindbox.mobile_sdk.inapp.domain.interfaces.interactors.CallbackInteractor
import cloud.mindbox.mobile_sdk.inapp.presentation.ClipboardManager
import cloud.mindbox.mobile_sdk.inapp.presentation.InAppCallback
/**
* Ready-to-use implementation of InAppCallback that handles copying non json/xml/url string
* to clipboard
**/
public open class CopyPayloadInAppCallback : InAppCallback {
private val callbackInteractor: CallbackInteractor by mindboxInject {
callbackInteractor
}
private val clipboardManager: ClipboardManager by mindboxInject {
clipboardManager
}
override fun onInAppClick(id: String, redirectUrl: String, payload: String) {
if (callbackInteractor.shouldCopyString(payload)) {
clipboardManager.copyToClipboard(payload)
}
}
override fun onInAppDismissed(id: String) {
return
}
}