package Ġcom . la id pack . s our cer er . generated Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . View Switch er Ċ import Ġcom . la id pack . generator . api . ViewGroup Element Ċ import Ġjava . lang . Class Ċ import Ġkotlin . String Ċ Ċ @ ViewGroup Element ( ĊĠĠĠĠĠĠĠ Ġelement Type Ġ= ĠView Switch er Factory . elementType , ĊĠĠĠĠĠĠĠ Ġattributes Clazz Ġ= ĠView Switch er Attributes :: class , ĊĠĠĠĠĠĠĠ Ġlayout Param Attributes Clazz Ġ= ĠView GroupLayout Params Attributes :: class Ċ ) Ċ open Ġclass ĠView Switch er Factory < T View Ġ: ĠView Switch er , ĠT Attributes Ġ: ĠView Switch er Attributes >( instance Type : ĠClass < T View >, Ġattributes Type : ĠClass < T Attributes >) Ġ: ĠView Animator Factory < T View , ĠT Attributes >( instance Type , Ġattributes Type ) Ġ{ ĊĠĠĠ Ġoverride Ġval Ġelement Type : ĠString Ġ= ĠComp anion . elementType ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Instance ( context : ĠContext ): ĠView Ġ= ĠView Switch er ( context ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġelement Type : ĠString Ġ= Ġ" view Switch er " ĊĊĠĠĠĠĠĠĠ Ġinline Ġoperator Ġfun Ġ< re ified ĠT View Ġ: ĠView Switch er , Ġre ified ĠT Attributes Ġ: ĠView Switch er Attributes > Ġinvoke () Ġ= ĠView Switch er Factory ( T View :: class . java , ĠT Attributes :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ