package Ġcom . iv ette val dez . sat urn us . screens . people . list Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Frame Layout Ċ import Ġcom . iv ette val dez . sat urn us . R Ċ import Ġcom . iv ette val dez . sat urn us . people . Person Ċ import Ġcom . iv ette val dez . sat urn us . screens . common . view sm vc . Base View Mvc Ċ import Ġcom . iv ette val dez . sat urn us . screens . common . view sm vc . I View Mvc Ċ import Ġcom . iv ette val dez . sat urn us . screens . common . view sm vc . View Mvc Factory Ċ import Ġcom . iv ette val dez . sat urn us . screens . people . item . IP erson Item View Mvc Ċ import Ġcom . iv ette val dez . sat urn us . screens . people . list . IP e ople ListItem View Mvc . Person ClickListener Ċ import Ġcom . iv ette val dez . sat urn us . screens . people . list . IP e ople ListItem View Mvc . Person Long ClickListener Ċ Ċ interface ĠIP e ople ListItem View Mvc Ġ: ĠI View Mvc Ġ{ ĊĊĠĠĠ Ġinterface ĠPerson ClickListener Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġon Person Click ( rfc : ĠString ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠPerson Long ClickListener Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġon Person Long Click ( rfc : ĠString ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġregister Person ClickListener ( listener : ĠPerson ClickListener ) ĊĠĠĠ Ġfun Ġregister Person Long ClickListener ( listener : ĠPerson Long ClickListener ) ĊĊĠĠĠ Ġfun Ġbind Person ( person : ĠPerson ) Ċ } Ċ Ċ class ĠPeople ListItem View Mvc Impl ( ĊĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠ Ġparent : ĠViewGroup ?, ĊĠĠĠ Ġview Mvc Factory : ĠView Mvc Factory Ċ ) Ġ: ĠBase View Mvc ( ĊĠĠĠ Ġinflater , ĊĠĠĠ Ġparent , ĊĠĠĠ ĠR . layout . element _ container Ċ ), ĠIP e ople ListItem View Mvc Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġperson Item : ĠFrame Layout Ġ= ĠfindViewById ( R . id . container ) ĊĠĠĠ Ġprivate Ġval Ġperson Item View Mvc : ĠIP erson Item View Mvc Ġ= Ġview Mvc Factory . new Person Item View Mvc ( ĊĠĠĠĠĠĠĠ Ġperson Item ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġperson : ĠPerson ĊĊĠĠĠ Ġprivate Ġvar Ġperson ClickListener : ĠPerson ClickListener ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġperson Long ClickListener : ĠPerson Long ClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġset Listener Events () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġperson Item View Mvc . hide Title () ĊĠĠĠĠĠĠĠ Ġperson Item . addView ( person Item View Mvc . getRoot View ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister Person ClickListener ( listener : ĠPerson ClickListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġperson ClickListener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister Person Long ClickListener ( listener : ĠPerson Long ClickListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġperson Long ClickListener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind Person ( person : ĠPerson ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . person Ġ= Ġperson ĊĠĠĠĠĠĠĠ Ġperson Item View Mvc . bind Person ( person ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Listener Events () Ġ{ ĊĠĠĠĠĠĠĠ Ġperson Item View Mvc . enable Item Click And Listen ( object Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIP erson Item View Mvc . ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Clicked () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperson ClickListener !!. on Person Click ( person . rfc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġperson Item View Mvc . enable Item Long Click And Listen ( object Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIP erson Item View Mvc . Item Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Long Clicked () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperson Long ClickListener !!. on Person Long Click ( person . rfc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }