Skip to content

//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.