/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 . Ġdv nl abs . ml Ġ, ĠD av in ĠA lf ar iz ky ĠPut ra ĠBas ude wa Ċ Ġ* ĠEmail Ġ: Ġdb as ude wa @ gmail . com Ġ/ Ġm oshi 2 _ dav in @ dv nl abs . ml Ċ Ġ* ĠUn S ik ad u Ġsource Ġcode Ġfor ĠAndroid Ġ( tm ) Ġ, Ċ Ġ* ĠInternal ĠLicense ĠOnly , NOT ĠFOR ĠRED ISTR IB UTE Ċ Ġ*/ Ċ Ċ package Ġml . dv nl abs . uns ik ad u . ui . fragment Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . ProgressBar Ċ import Ġandroid . widget . Relative Layout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġml . dv nl abs . uns ik ad u . R Ċ import Ġml . dv nl abs . uns ik ad u . constant . constant Ċ import Ġml . dv nl abs . uns ik ad u . model . Finance Detail Ċ import Ġml . dv nl abs . uns ik ad u . ui . view . list . finance . Finance Adapter Ċ import Ġml . dv nl abs . uns ik ad u . util . network . AP IN etwork Request Ċ import Ġml . dv nl abs . uns ik ad u . util . network . listener . Fetch Data Listener Ċ import Ġorg . json . JSONException Ċ import Ġorg . json . JSONObject Ċ import Ġjava . text . Decimal Format Ċ Ċ class ĠDashboard Finance Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġcontainers Ġ: ĠLinearLayout ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġ Ġloading Ġ: ĠRelative Layout ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġperiod Text Ġ: ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġremain Text Ġ: ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġpaid Percent Text Ġ: ĠTextView ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġlist Finance Ġ: ĠRecyclerView ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġprogress Ġ: ĠProgress Bar ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtoken Ġ: ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġdata Finance Ġ: ĠArrayList < Finance Detail >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ: ĠView Ġ= Ġinflater . inflate ( R . layout . frame _ finance , container , false ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainers Ġ= ĠfindViewById ( R . id . finance Container ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloading Ġ= ĠfindViewById ( R . id . finance Loading ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremain Text Ġ= ĠfindViewById ( R . id . finance Detail ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaid Percent Text Ġ= ĠfindViewById ( R . id . paid Percent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Finance Ġ= ĠfindViewById ( R . id . finance List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Ġ= ĠfindViewById ( R . id . paid Progress ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperiod Text Ġ= ĠfindViewById ( R . id . finance Period ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġloading !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġcontainers !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġval Ġprefs Ġ: ĠSharedPreferences Ġ= Ġrequire Context (). get SharedPreferences (" session ", ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġtoken Ġ= Ġprefs . getString (" token ", null ) ĊĠĠĠĠĠĠĠ Ġif Ġ( token !!. isNotEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Finance () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Finance (){ ĊĠĠĠĠĠĠĠ ĠA PIN etwork Request ( require Activity (), finance Get , constant . finance Detail Url + token !! , AP IN etwork Request . CODE _ GET _ REQUEST , null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġparse Finance ( data Ġ: ĠJSONObject ){ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbill Ġ= Ġdata . get JSONArray (" Bill ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Getting Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( Ġi Ġin Ġ 0 Ġuntil Ġbill . length ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobj Ġ: ĠJSONObject Ġ= Ġbill . getJSONObject ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġno Ġ= Ġobj . getInt (" No ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġperiod Ġ= Ġobj . getString (" Period ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchar ged Ġ= Ġobj . getInt (" Char ged ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpaid Ġ= Ġobj . getInt (" Paid ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Ġ= Ġobj . getInt (" First ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Ġ= Ġobj . getInt (" Second ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthird Ġ= Ġobj . getInt (" Third ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġremain Ġ= Ġobj . getInt (" Remain ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpercent Ġ= Ġobj . getInt (" Percentage ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġobj . getString (" Status ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Finance !!. add ( Finance Detail ( no , period , Ġchar ged , Ġpaid , Ġfirst , Ġsecond , Ġthird , Ġremain , Ġpercent , Ġstatus )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlength Ġ= Ġdata Finance !!. size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformatter Ġ= ĠDecimal Format ("# , ### , ### ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġperiod Ġ= Ġdata Finance ! ![ length - 1 ]. period ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġremain Ġ= Ġdata Finance ! ![ length - 1 ]. remain ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpercent Ġ= Ġdata Finance ! ![ length - 1 ]. percent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremain Text !!. text Ġ= Ġ" Rp .${ formatter . format ( remain )}" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaid Percent Text !!. text Ġ= Ġ"$ percent Ġ% " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperiod Text !!. text Ġ= Ġ" S isa ĠP emb ayaran ĠPer i ode Ġ$ period " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress !!. progress Ġ= Ġpercent ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// List Ġinitialize ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout Manager Ġ= ĠLinearLayoutManager ( require Activity ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠFinance Adapter ( require Activity (), data Finance !! , R . layout . rv _ finance _ period ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Finance !!. layout Manager Ġ= Ġlayout Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Finance !!. adapter Ġ= Ġadapter ĊĊĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e Ġ: ĠJSON Exception ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġfin ance Get Ġ: ĠFetch Data Listener Ġ= Ġobject Ġ: ĠFetch Data Listener { ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Fetch Complete ( data : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobjects Ġ= ĠJSONObject ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! objects . getBoolean (" Error ")){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Finance Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainers !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparse Finance ( objects . getJSONObject (" Finance ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch Ġ( e : ĠJSON Exception ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Fetch Failure ( msg : ĠString ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Fetch Start () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }