package Ġcom . kick starter . ui . view holders Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . util . Pair Ċ import Ġandroid . view . View Ċ import Ġandroidx . annotation . NonNull Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . jak ew h art on . r xb ind ing . view . Rx View Ċ import Ġcom . kick starter . R Ċ import Ġcom . kick starter . libs . rx . transformers . Transform ers . observe For UI Ċ import Ġcom . kick starter . libs . utils .* Ċ import Ġcom . kick starter . libs . utils . Object Utils . requireNonNull Ċ import Ġcom . kick starter . libs . utils . Transition Utils . slide In From Right Ċ import Ġcom . kick starter . libs . utils . Transition Utils . transition Ċ import Ġcom . kick starter . models . Project Ċ import Ġcom . kick starter . models . Reward Ċ import Ġcom . kick starter . ui . Intent Key Ċ import Ġcom . kick starter . ui . activities . Backing Activity Ċ import Ġcom . kick starter . ui . adapters . Reward Items Adapter Ċ import Ġcom . kick starter . ui . data . Project Data Ċ import Ġcom . kick starter . view models . Reward ViewHolder ViewModel Ċ import Ġkotlinx . android . synt hetic . main . item _ reward . view .* Ċ Ċ class ĠRew ard ViewHolder ( private Ġval Ġview : ĠView , Ġval Ġdelegate : ĠDelegate ?, Ġprivate Ġval Ġinset : ĠBoolean Ġ= Ġfalse ) Ġ: ĠK S ViewHolder ( view ) Ġ{ ĊĊĠĠĠ Ġinterface ĠDelegate Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġreward Clicked ( reward : ĠRew ard ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġks String Ġ= Ġenvironment (). ks String () ĊĠĠĠ Ġprivate Ġvar ĠviewModel Ġ= ĠRew ard ViewHolder ViewModel . ViewModel ( environment ()) ĊĊĠĠĠ Ġprivate Ġval Ġcurrency Conversion String Ġ= Ġcontext (). getString ( R . string . About _ reward _ amount ) ĊĠĠĠ Ġprivate Ġval Ġremaining Rewards String Ġ= Ġcontext (). getString ( R . string . Left _ count _ left _ f ew ) ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġreward Item Adapter Ġ= ĠsetUp Reward Items Adapter () ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . conversion Is G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( View Utils . set G one ( this . view . reward _ conversion _ text _ view )) ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . conversion () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġset Conversion TextView ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . description For No Reward () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġthis . view . reward _ description _ text _ view . setText ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . description For Reward () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġthis . view . reward _ description _ text _ view . text Ġ= Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . description Is G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĠView Utils . set G one ( this . view . reward _ description _ container , Ġit ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . button IsEnabled () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġthis . view . reward _ p ledge _ button . isEnabled Ġ= Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . remaining Is G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( View Utils . set G one ( this . view . reward _ remaining _ text _ view )) ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . limit Container Is G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĠView Utils . set G one ( this . view . reward _ limit _ container , Ġit ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . remaining () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġset Remaining Rewards TextView ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . button CT A () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġthis . view . reward _ p ledge _ button . setText ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . shipping Summary () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġset Shipping Summary Text ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . shipping Summary Is G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĠView Utils . set G one ( this . view . reward _ shipping _ summary , Ġit ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . minimum Amount Title () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġthis . view . reward _ minimum _ text _ view . text Ġ= Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . reward () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġthis . view . reward _ ending _ text _ view . text Ġ= Ġformatted Expiration String ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . endDate Section Is G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĠView Utils . set G one ( this . view . reward _ ending _ text _ view , Ġit ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . reward Items () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġreward Item Adapter . rewards Items ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . reward Items Are G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( View Utils . set G one ( this . view . rewards _ item _ section )) ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . title For No Reward () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġthis . view . reward _ title _ text _ view . setText ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . title For Reward () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġthis . view . reward _ title _ text _ view . text Ġ= Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . title Is G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĠView Utils . set G one ( this . view . reward _ title _ text _ view , Ġit ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . show P ledge Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġthis . delegate ?. reward Clicked ( it . second ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . button Is G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġset P ledge Button Visibility ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . back ers Count () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġset Back ers Count TextView ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . back ers Count Is G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĠView Utils . set G one ( this . view . reward _ back ers _ count , Ġit ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . estimated Delivery () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġthis . view . reward _ estimated _ delivery . text Ġ= Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . estimated Delivery Is G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĠView Utils . set G one ( this . view . reward _ estimated _ delivery _ section , Ġit ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . outputs . is Minimum P ledge Amount G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( observe For UI ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Utils . set G one ( this . view . reward _ conversion _ text _ view , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Utils . set G one ( this . view . reward _ minimum _ text _ view , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠRx View . click s ( this . view . reward _ p ledge _ button ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġthis . viewModel . inputs . reward Clicked ( this . adapter Position ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind Data ( data : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġval Ġproject And Reward Ġ= Ġrequire NonNull ( data Ġas ĠPair < Project Data , ĠRew ard >) ĊĠĠĠĠĠĠĠ Ġval Ġproject Tracking Ġ= Ġrequire NonNull ( project And Reward . first , ĠProject Data :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġreward Ġ= Ġrequire NonNull ( project And Reward . second , ĠRew ard :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġthis . viewModel . inputs . configure With ( project Tracking , Ġreward ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġformatted Expiration String (@ NonNull Ġreward : ĠRew ard ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdetail Ġ= ĠRew ard Utils . deadline Count down Detail ( reward , Ġcontext (), Ġthis . ks String ) ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĠRew ard Utils . deadline Count down Value ( reward ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ"$ value Ġ$ detail " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Back ers Count TextView ( count : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġback ers Count Text Ġ= Ġthis . ks String . format (" rewards _ info _ back er _ count _ back ers ", Ġcount , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" back er _ count ", ĠNumber Utils . format ( count )) ĊĠĠĠĠĠĠĠ Ġthis . view . reward _ back ers _ count . text Ġ= Ġback ers Count Text ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Conversion TextView (@ NonNull Ġamount : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . view . reward _ conversion _ text _ view . text Ġ= Ġthis . ks String . format ( this . currency Conversion String , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" reward _ amount ", Ġamount ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset P ledge Button Visibility ( g one : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Boolean Utils . isTrue ( this . in set )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Utils . set G one ( this . view . reward _ button _ container , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Utils . set G one ( this . view . reward _ button _ placeholder , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Utils . set G one ( this . view . reward _ button _ container , Ġgone ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgone Ġ-> ĠView Utils . set G one ( this . view . reward _ button _ placeholder , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠView Utils . set In visible ( this . view . reward _ button _ placeholder , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Remaining Rewards TextView (@ NonNull Ġremaining : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . view . reward _ remaining _ text _ view . text Ġ= Ġthis . ks String . format ( this . remaining Rewards String , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" left _ count ", Ġremaining ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Shipping Summary Text ( string Res And Location Name : ĠPair < Int , ĠString ?> ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . view . reward _ shipping _ summary . text Ġ= ĠRew ard View Utils . shipping Summary ( context (), Ġthis . ks String , Ġstring Res And Location Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetUp Reward Items Adapter (): ĠRew ard Items Adapter Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreward Item Adapter Ġ= ĠRew ard Items Adapter () ĊĠĠĠĠĠĠĠ Ġval Ġitem RecyclerView Ġ= Ġview . rewards _ item _ recycler _ view ĊĠĠĠĠĠĠĠ Ġitem RecyclerView . adapter Ġ= Ġreward Item Adapter ĊĠĠĠĠĠĠĠ Ġitem RecyclerView . layout Manager Ġ= ĠLinearLayoutManager ( context ()) ĊĠĠĠĠĠĠĠ Ġthis . context (). get Drawable ( R . drawable . divider _ grey _ 3 0 0 _ horizontal )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem RecyclerView . addItem Decoration ( Reward Item Decorator ( it )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġreward Item Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Backing Activity (@ NonNull Ġproject : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġcontext () ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠBack ing Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( Intent Key . PROJECT , Ġproject ) ĊĊĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġtransition ( context , Ġslide In From Right ()) ĊĠĠĠ Ġ} Ċ Ċ } Ċ