package Ġcom . min um inu . har uu . wh er emy home . view . home inf ode t ails Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . min um inu . har uu . wh er emy home . db . data . Eval Info ViewData Ċ import Ġcom . min um inu . har uu . wh er emy home . db . data . Picture Size Ċ import Ġcom . min um inu . har uu . wh er emy home . db . data . Picture ViewData Ċ import Ġcom . min um inu . har uu . wh er emy home . utils . App Utils Ċ Ċ object ĠHome Info Details Binding Adapter Ġ{ ĊĊĠĠĠ Ġ@ Binding Adapter (" pictures ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġset Picture List ( ĊĠĠĠĠĠĠĠ Ġre cyclerView : ĠRecyclerView , ĊĠĠĠĠĠĠĠ Ġpictures : ĠList < Picture ViewData >, ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġre cyclerView . adapter Ġas ĠPicture RecyclerView Adapter ĊĠĠĠĠĠĠĠ Ġadapter . submit List ( ArrayList < Picture ViewData >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd All ( pictures ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Binding Adapter (" picture Name ", Ġ" deleted ", Ġ" size ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġset Image Bitmap ( ĊĠĠĠĠĠĠĠ Ġiv : ĠImageView , ĊĠĠĠĠĠĠĠ Ġpicture Name : ĠString , ĊĠĠĠĠĠĠĠ Ġdeleted : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġsize : ĠPicture Size Ġ= ĠPicture Size . Small ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimage File Ġ= Ġwhen ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPicture Size . Full Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Utils . load Image File ( iv . context , Ġpicture Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġsnapshot File Ġ= ĠApp Utils . load Snapshot File ( iv . context , Ġ"${ picture Name }_${ size }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( snapshot File Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( Home Info Details Binding Adapter :: class . simple Name , Ġ" load Snapshot File Ġis Ġfailed ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsnapshot File Ġ= ĠApp Utils . load Image File ( iv . context , Ġpicture Name ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġwidth Ġ= Ġiv . layout Params . width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġheight Ġ= Ġiv . layout Params . height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( width . compareTo ( ViewGroup . LayoutParams . MATCH _ PARENT ) Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv . context . resources . display Metrics . width Pixels ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( height . compareTo ( ViewGroup . LayoutParams . MATCH _ PARENT ) Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv . context . resources . display Metrics . height Pixels ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Utils . resize Bitmap ( it , Ġwidth . toFloat (), Ġheight . toFloat ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Utils . create Snapshot File ( iv . context , Ġ"${ picture Name }_${ size }", Ġsnapshot File ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsnapshot File ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġiv . setImage Bitmap ( image File ) ĊĠĠĠĠĠĠĠ Ġiv . alpha Ġ= Ġwhen Ġ( deleted ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġ 0 . 3 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 1 f ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Binding Adapter (" eval Infos ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġset Eval InfoList ( re cyclerView : ĠRecyclerView , Ġeval Infos : ĠList < Eval Info ViewData >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġre cyclerView . adapter Ġas ĠEval Info RecyclerView Adapter ĊĠĠĠĠĠĠĠ Ġadapter . submit List ( ArrayList < Eval Info ViewData >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd All ( eval Infos ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ Ċ }