package Ġcom . android . loan ppi Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Adapter View Ċ import Ġandroid . widget . Adapter View . On ItemClickListener Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . ListView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . android . vol ley . Request Ċ import Ġcom . android . vol ley . Response Ċ import Ġcom . android . vol ley . toolbox . JsonArray Request Ċ import Ġcom . android . vol ley . toolbox . Vol ley Ċ import Ġjava . text . NumberFormat ĊĊ Ċ /** Ċ Ġ* ĠA Ġsimple Ġ[ Fragment ] Ġsubclass . Ċ Ġ* ĠUse Ġthe Ġ[ my _ invest ment _ options . newInstance ] Ġfactory Ġmethod Ġto Ċ Ġ* Ġcreate Ġan Ġinstance Ġof Ġthis Ġfragment . Ċ Ġ*/ Ċ class Ġmy _ invest ment _ options ( bundle : ĠBundle ?) Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġbundle Ġ= Ġbundle ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġaccount : ĠBundle ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠlistView : ĠListView ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġarray Adapter : ĠArray Adapter < String > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġinvestment Data : ĠArrayList < String > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġinvest ments List String : ĠArrayList < String > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġinvest ments List Array : ĠArrayList < ArrayList < String >> ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ my _ invest ment _ options , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ ĠlistView Ġ= Ġview . findViewById ( R . id . list view ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠInitializes Ġall Ġarray Ġlists Ġand Ġthe Ġlist view Ġadapter ĊĠĠĠĠĠĠĠ Ġinvestment Data Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġinvest ments List String Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġinvest ments List Array Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġarray Adapter Ġ= ĠArray Adapter ( require Context (), Ġandroid . R . layout . simple _ list _ item _ 1 , Ġinvest ments List String ) ĊĠĠĠĠĠĠĠ ĠlistView . adapter Ġ= Ġarray Adapter ĊĊĠĠĠĠĠĠĠ Ġaccount Ġ= Ġbundle ?. get Bundle (" account ") Ġas ĠBundle ĊĊĠĠĠĠĠĠĠ Ġ// ĠListen Ġwhen Ġa Ġspecific Ġinvestment Ġis Ġselected Ġfrom Ġthe Ġlist Ġand Ġcall Ġthe Ġfunction Ġin ĊĠĠĠĠĠĠĠ Ġ// Ġcharge Ġof Ġloading Ġthat Ġinvestment Ġin Ġdetail ĊĠĠĠĠĠĠĠ ĠlistView . setOn ItemClickListener ( object Ġ: ĠOn ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinvestment Selected Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Click ( parent : ĠAdapter View < *> ?, Ġview : ĠView , Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvestment Selected . putString (" id Invest ment ", Ġinvest ments List Array . get ( position ). get ( 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreplace Fragment ( my _ invest ment _ details ( invest ment Selected ), Ġparent FragmentManager ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCall Ġfunction Ġthat Ġget Ġlist Ġof Ġuser Ġinvest ments ĊĠĠĠĠĠĠĠ Ġget Invest ments () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠFunction Ġthat Ġmakes Ġthe Ġrequest Ġto Ġthe Ġserver Ġto Ġget Ġa Ġlist Ġof Ġmy Ġinvest ments ĊĠĠĠ Ġfun Ġget Invest ments () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġaccount . get (" userId ") ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" http :// loan ppi . ke ving iral do . tech / app / api / v 1 / my _ invest ments ? id Invest or =" Ġ+ Ġid ĊĠĠĠĠĠĠĠ Ġval Ġqueue Ġ= ĠVol ley . new Request Queue ( context ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest Ġa ĠJSON Ġresponse Ġfrom Ġthe Ġprovided ĠURL . ĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġthe Ġrequest . ĠIn Ġcase Ġof Ġsuccess Ġsave Ġthe Ġvalues Ġin Ġa Ġvariable , Ġthen Ġin Ġthe Ġlist Ġof ĊĠĠĠĠĠĠĠ Ġ// Ġinvest ments Ġand Ġnot ifies Ġthe Ġview Ġadapter Ġto Ġshow Ġthe Ġuser Ġeach Ġchange . ĠOn Ġthe Ġcontr ary , ĊĠĠĠĠĠĠĠ Ġ// Ġreport Ġthat Ġdon 't Ġhave Ġactive Ġinvest ments . ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠJson Array Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest . Method . GET , Ġurl , Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . Listener Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . length () Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. ( response . length () Ġ- Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvestment Data . add (( i Ġ+ Ġ 1 ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvestment Data . add ( response . getJSONObject ( i ). get (" money Invest ment "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvestment Data . add ( response . getJSONObject ( i ). get (" id Invest ment "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvestment Data . add ( response . getJSONObject ( i ). get (" time To Return "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvestment Data . add ( response . getJSONObject ( i ). get (" return Total "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvestment Data . add ( response . getJSONObject ( i ). get (" value To Return Week ly "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvestment Data . add ( response . getJSONObject ( i ). get (" interest s W ins "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvestment Data . add ( response . getJSONObject ( i ). get (" total Return "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvest ments List String . add ( getString From Array ( invest ment Data )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvest ments List Array . add ( invest ment Data . clone () Ġas ĠArrayList < String >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvestment Data . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarray Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" No Ġse Ġenc uent ran Ġin version es Ġas oci adas Ġal Ġusuario .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . Error Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Error Ġal Ġc argar Ġin version es : Ġ" Ġ+ Ġit . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Error Ġen Ġla Ġconex iÃ³n Ġcon Ġel Ġservidor .", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// ĠAdd Ġthe Ġrequest Ġto Ġthe ĠRequest Queue . ĊĠĠĠĠĠĠĠ Ġqueue . add ( request ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠIt Ġobt ains Ġa Ġlist Ġof Ġinvest ments Ġand Ġreturns Ġthis Ġinformation Ġin Ġa Ġstring ĊĠĠĠ Ġfun ĠgetString From Array ( array : ĠArrayList < String >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcop Format : ĠNumber Format Ġ= ĠNumber Format . getC urrency Instance () ĊĠĠĠĠĠĠĠ Ġcop Format . maximum Fraction Digits Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġstring Ġ= Ġarray . get ( 0 ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġarray . get ( 0 ). length .. 1 5 ) Ġ{ Ġstring Ġ+= Ġ" Ġ" Ġ} ĊĠĠĠĠĠĠĠ Ġstring Ġ+= Ġcop Format . format ( array . get ( 1 ). toInt ()) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġarray . get ( 7 ). length .. 3 0 ) Ġ{ Ġstring Ġ+= Ġ" Ġ" Ġ} ĊĠĠĠĠĠĠĠ Ġstring Ġ+= Ġcop Format . format ( array . get ( 7 ). toInt ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġstring ĊĠĠĠ Ġ} Ċ }