package Ġcom . cyber log ite c . fre ight 9 . ui . inventory Ċ Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Popup Window Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . cyber log ite c . fre ight 9 . R Ċ import Ġcom . cyber log ite c . fre ight 9 . lib . util . get Week Ċ import Ġcom . cyber log ite c . fre ight 9 . lib . util . getY MD With Hy pen Ċ import Ġcom . cyber log ite c . fre ight 9 . lib . util . set Safe OnClickListener Ċ import Ġkotlinx . android . synt hetic . main . item _ inventory _ valu ation . view .* Ċ import Ġkotlinx . android . synt hetic . main . popup _ inventory _ valu ation . view .* Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . lang . Math . abs Ċ import Ġjava . text . NumberFormat Ċ import Ġjava . util .* ĊĊ Ċ class ĠInventory Val uation Popup ( var Ġview : ĠView , Ġwidth : ĠInt , Ġheight : ĠInt , Ġfocus able : ĠBoolean ) Ġ: ĊĠĠĠĠĠĠĠ ĠPopup Window ( view , Ġwidth , Ġheight , Ġfocus able ) Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġinventory Val uation List : ĠMutable List < Inventory Detail Activity . Inventory Detail Item > ĊĠĠĠ Ġprivate Ġval Ġcurrency Format Ġ= ĠNumber Format . getC urrency Instance ( Locale . US ) ĊĠĠĠ Ġprivate Ġval Ġinventory Val uation Adapter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠInventory Val uation Recycler Adapter () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrency Format . minimum Fraction Digits Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġview . iv _ inventory _ valu ation _ close . set Safe OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow ( parent : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow At Location ( parent , ĠGr avity . CENTER , Ġ 0 , Ġ 0 Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinit Value ( inventory Detail List : ĠMutable List < Inventory Detail Activity . Inventory Detail Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . inventory Val uation List Ġ= Ġinventory Detail List ĊĠĠĠĠĠĠĠ Ġinventory Detail RecyclerView Init () ĊĠĠĠĠĠĠĠ Ġwith ( view ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġinventory Val uation List ĠìĿĺ Ġf 9 Market Value ĠìĿĺ Ġíķ © ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmarket Value Sum Ġ= Ġinventory Val uation List . map Ġ{ Ġit . f 9 Market Value Ġ}. sum () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ inventory _ valu ation _ f 9 _ market _ value . text Ġ= Ġcurrency Format . format ( market Value Sum . toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġinventory Val uation List ĠìĿĺ Ġunit Cost Value ĠìĿĺ Ġíķ © ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcost Value Sum Ġ= Ġinventory Val uation List . map Ġ{ Ġit . unit Cost Value Ġ}. sum () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ inventory _ valu ation _ total _ cost _ value . text Ġ= Ġcurrency Format . format ( cost Value Sum . toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtv _ inventory _ valu ation _ f 9 _ market _ value Ġ- Ġtv _ inventory _ valu ation _ total _ cost _ value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdiff Value Ġ= Ġ( market Value Sum Ġ- Ġcost Value Sum ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdiff Symbol Ġ= Ġif Ġ( diff Value Ġ< Ġ 0 ) Ġ"- Ġ" Ġelse Ġ"+ Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdiff Abs Value Ġ= Ġkotlin . math . abs ( diff Value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( diff Value Ġ> Ġ 0 F ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiff Symbol Ġ= Ġ" +" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ inventory _ valu ation _ estimate _ profit _ value . text Ġ= Ġ"$ diff Symbol ${ currency Format . format ( diff Abs Value )}" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/ **************************************************************** ************************ ******* ĊĠĠĠĠ Ġ* ĠInventory Ġdetail ĠRe cycler Ġview Ġinit ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġinventory Detail RecyclerView Init () Ġ{ ĊĠĠĠĠĠĠĠ Ġview . recycler _ inventory _ valu ation . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" f 9 : Ġre cyclerView Init ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( view . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġinventory Val uation Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset Inventory Detail Recycler Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Inventory Detail Recycler Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġinventory Val uation Adapter . setData ( inventory Val uation List ) ĊĠĠĠĠĠĠĠ Ġinventory Val uation Adapter . notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/ **************************************************************** ************************ ******* ĊĠĠĠĠ Ġ* ĠInventory ĠDetail ĠRe cycler Ġview Ġadapter Ġ: ĠPeriod , ĠVolume ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġclass ĠInventory Val uation Recycler Adapter Ġ: ĠRecyclerView . Adapter < Inventory Val uation Recycler Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġcurrency Format : ĠNumber Format Ġ= ĠNumber Format . getC urrency Instance ( Locale . US ) ĊĠĠĠĠĠĠĠ Ġval Ġdatas Ġ= Ġmutable ListOf < Inventory Detail Activity . Inventory Detail Item >() ĊĊĠĠĠĠĠĠĠ Ġfun ĠsetData ( datas : ĠList < Inventory Detail Activity . Inventory Detail Item >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . datas . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . datas . addAll ( datas ) ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠ Ġfun ĠgetData (): ĠList < Inventory Detail Activity . Inventory Detail Item > Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis . datas Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrency Format . minimum Fraction Digits Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ inventory _ valu ation , Ġparent , Ġfalse )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdatas . size ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( holder . item View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġdatas [ position ] ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ inventory _ valu ation _ week . text Ġ= Ġcontext . get Week ( data . b se Yw ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ inventory _ valu ation _ week of . text Ġ= Ġdata . b se Week Fm Dt . getY MD With Hy pen () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ inventory _ valu ation _ cost _ value . text Ġ= Ġcurrency Format . format ( data . unit Cost Value . toInt ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ inventory _ valu ation _ market _ value . text Ġ= Ġcurrency Format . format ( data . f 9 Market Value . toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdiff Value Ġ= Ġ( data . f 9 Market Value Ġ- Ġdata . unit Cost Value ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdiff Symbol Ġ= Ġif Ġ( diff Value Ġ< Ġ 0 ) Ġ"- Ġ" Ġelse Ġ"+ Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdiff Abs Value Ġ= Ġabs ( diff Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġprofit TextColor Ġ= ĠContext Compat . getColor ( context , ĠR . color . color _ f 4 1 8 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( diff Value Ġ> Ġ 0 F ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiff Symbol Ġ= Ġ" +" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofit TextColor Ġ= ĠContext Compat . getColor ( context , ĠR . color . green _ blue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ inventory _ valu ation _ market _ value _ profit . setTextColor ( profit TextColor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ inventory _ valu ation _ market _ value _ profit . text Ġ= Ġ"$ diff Symbol ${ currency Format . format ( diff Abs Value )}" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) ĊĠĠĠ Ġ} Ċ } ĊĊ