package Ġjp . q ais . coin z Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view .* Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . Toast Ċ import Ġkotlinx . android . synt hetic . main . fragment _ payments .* Ċ Ċ /** Ċ Ġ* ĠFragment Ġfor Ġdisplaying Ġlist Ġof Ġfriends Ġand Ġui Ġfor Ġadding Ġfriends . Ċ Ġ* Ċ Ġ*/ Ċ class ĠPay ments Fragment Ġ: ĠFragment (), ĠPay Friend Dialog Fragment . Listener Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġre cyclerView : ĠRecyclerView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview Adapter : ĠRecyclerView . Adapter < *> ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview Manager : ĠRecyclerView . LayoutManager ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġemail Edit : ĠEditText ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadd Friend Btn : ĠButton ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ payments , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġview Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġview Adapter Ġ= ĠF riends View Adapter ( child FragmentManager ) ĊĊĠĠĠĠĠĠĠ Ġre cyclerView Ġ= Ġview . findViewById < RecyclerView >( R . id . friends RecyclerView ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= Ġview Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġview Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġemail Edit Ġ= Ġview . findViewById ( R . id . email Edit ) ĊĠĠĠĠĠĠĠ Ġadd Friend Btn Ġ= Ġview . findViewById ( R . id . add Friend Btn ) ĊĊĠĠĠĠĠĠĠ Ġadd Friend Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Manager . find Friend ( email Edit . text . toString ()) Ġ{ Ġfriend Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( friend Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" That Ġperson Ġdoes Ġnot Ġexist .", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ find Friend ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Edit . setText ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠData Manager . add Friend ( friend ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pay Friend Clicked ( friend : ĠFriend , Ġcoin : ĠCoin ) Ġ{ ĊĠĠĠĠĠĠĠ ĠData Manager . push User Coins ( friend . id , Ġset Of ( coin )) ĊĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ"${ friend . name } Ġ(${ friend . email }) Ġhas Ġbeen Ġsent Ġ$ coin ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( item . itemId Ġ!= ĠR . id . action _ add _ friend ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ ĠToast . makeText ( require Context (), ĠgetText ( R . string . action _ add _ friend ), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Enabled () Ġ= ĠData Manager . are Payments Enabled () Ċ Ċ // ĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?, Ġinflater : ĠMenu Inflater ?) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġsuper . onCreate Options Menu ( menu , Ġinflater ) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġmenu ?. let Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġinflater ?. inflate ( R . menu . menu _ payments , Ġit ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġit . find Item ( R . id . action _ add _ friend ). setEnabled ( isEnabled ()) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĊĠĠĠĠĠĠĠ Ġpayments Pay wall . visibility Ġ= Ġif Ġ( isEnabled ()) ĠView . GONE Ġelse ĠView . VISIBLE ĊĊĠĠĠ Ġ} Ċ } Ċ