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)
         }
     }
 }