// ĠCopyright Ġ( c ) ĠMicrosoft ĠCorporation . ĠAll Ġrights Ġreserved . Ċ // ĠLicensed Ġunder Ġthe ĠMIT ĠLicense . Ċ package Ġio . adaptive cards . uit est app . ui . inputs Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . ListView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġio . adaptive cards . uit est app . R Ċ import Ġio . adaptive cards . uit est app . ui . rendered _ card . Rendered Card ViewModel Ċ import Ġjava . util .* Ċ Ċ class ĠInputs Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm Inputs ViewModel : ĠInputs ViewModel ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Rendered Card ViewModel : ĠRender ed Card ViewModel ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Retrie ved Inputs : ĠList < Retrie ved Input ?> ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġm Inputs ViewModel Ġ= ĠViewModel Provider ( require Activity ()). get ( Inputs ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġm Rendered Card ViewModel Ġ= ĠViewModel Provider ( require Activity ()). get ( Rendered Card ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġm Retrie ved Inputs Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ inputs , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġitems Adapter : ĠInputs Adapter < Any ?> Ġ= ĠInputs Adapter < Any ? >( require Context (), Ġandroid . R . layout . test _ list _ item , Ġm Retrie ved Inputs ) ĊĠĠĠĠĠĠĠ Ġval ĠlistView Ġ= Ġroot . findViewById < ListView >( R . id . inputs _ list _ view ) ĊĠĠĠĠĠĠĠ ĠlistView . adapter Ġ= Ġitems Adapter ĊĠĠĠĠĠĠĠ Ġm Rendered Card ViewModel !!. inputs . observe ( view Lifecycle Owner , Ġ{ Ġretrieved Inputs Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Retrie ved Inputs Ġ= Ġretrieved Inputs ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistView . adapter Ġ= ĠInputs Adapter < Any ? >( require Context (), Ġandroid . R . layout . test _ list _ item , Ġm Retrie ved Inputs ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠInputs Adapter < T >( context : ĠContext , Ġresource : ĠInt , Ġitems List : ĠList < T > ?) Ġ: ĠArray Adapter < Any ? >( context , Ġresource , Ġitems List ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar ĠconvertView Ġ= ĠconvertView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( convert View Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠconvertView Ġ= Ġlayout Inflater . inflate ( R . layout . inputs _ list _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġretrieved Input Ġ= ĠgetItem ( position ) Ġas ĠRetrie ved Input ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinput Id TextView Ġ= ĠconvertView ?. findViewById < TextView >( R . id . text _ input _ id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Id TextView ?. text Ġ= Ġretrieved Input !!. id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinput Value TextView Ġ= ĠconvertView ?. findViewById < TextView >( R . id . text _ input _ value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Value TextView ?. text Ġ= Ġretrieved Input . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠconvertView ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ