//workflow/com.squareup.workflow1.ui/DecorativeViewFactory/DecorativeViewFactory
DecorativeViewFactory¶
[androidJvm]
Content
fun <OuterT : Any, InnerT : Any> DecorativeViewFactory(type: KClass<OuterT>, map: (OuterT) -> InnerT, viewStarter: ViewStarter? = null, doShowRendering: (view: View, ViewShowRendering<InnerT>, OuterT, env: ViewEnvironment) -> Unit = { _, innerShowRendering, outerRendering, viewEnvironment ->
innerShowRendering(map(outerRendering), viewEnvironment)
})
More info
Convenience constructor for cases requiring no changes to the ViewEnvironment.
[androidJvm]
Content
fun <OuterT : Any, InnerT : Any> DecorativeViewFactory(type: KClass<OuterT>, map: (OuterT, ViewEnvironment) -> Pair<InnerT, ViewEnvironment>, viewStarter: ViewStarter? = null, doShowRendering: (view: View, ViewShowRendering<InnerT>, OuterT, env: ViewEnvironment) -> Unit = { _, innerShowRendering, outerRendering, viewEnvironment ->
val (innerRendering, processedEnv) = map(outerRendering, viewEnvironment)
innerShowRendering(innerRendering, processedEnv)
})
More info
Parameters¶
androidJvm
map | called to convert instances of OuterT to InnerT, and to allow ViewEnvironment to be transformed. |
viewStarter | An optional wrapper for the function invoked when View.start is called, allowing for last second initialization of a newly built View. See ViewStarter for details. |
doShowRendering | called to apply the ViewShowRendering function for InnerT, allowing pre- and post-processing. Default implementation simply uses map to extract the InnerT instance from OuterT and makes the function call. |