package Ġmemo iz rl abs . com . t dd _ playground Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . jak ew h art on . r xb ind ing . view . click s Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġrx . Observable Ċ import Ġjava . lang . Integer . parseInt Ċ import Ġjava . util .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠAccount Presenter . Account View Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtransaction Adapter Ġ= ĠTransaction Adapter () ĊĠĠĠ Ġprivate Ġval Ġpresenter Ġ= ĠAccount Presenter ( Transaction Repository ( Simple Calendar ()), ĠTransaction Printer ()) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġre cy ler View . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġre cy ler View . adapter Ġ= Ġtransaction Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġpresenter . on View Attached ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġde posits (): ĠObservable < Int > Ġ= Ġdeposit Button . click s (). map Ġ{ ĠparseInt ( deposit EditText . text . toString ()) Ġ} ĊĠĠĠ Ġoverride Ġfun Ġprint Statement Request (): ĠObservable < Unit > Ġ= Ġprint Statement Button . click s () ĊĠĠĠ Ġoverride Ġfun Ġprint Transactions ( message : ĠList < String >) Ġ{ Ġtransaction Adapter . set Items ( message ) Ġ} Ċ } Ċ Ċ class ĠSimple Calendar Ġ: ĠCalendar Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Date (): ĠDate Ġ= ĠDate () Ċ } Ċ Ċ class ĠTransaction Adapter () Ġ: ĠRecyclerView . Adapter < Transaction Adapter . Holder >() Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġitems : ĠList < String > Ġ= Ġempty List () ĊĊĠĠĠ Ġfun Ġset Items ( items : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . items Ġ= Ġitems ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġitems . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠH older Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠH older ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ transaction , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠH older , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . content . text Ġ= Ġitems [ position ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠH older ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġview . findViewById ( R . id . transaction TextView ) Ġas ĠTextView ĊĠĠĠ Ġ} Ċ } Ċ