package Ġde . r ki . cor on aw arn app . test . key download . ui Ċ Ċ import Ġandroid . text . format . Formatter Ċ import Ġandroid . view . ViewGroup Ċ import Ġde . r ki . cor on aw arn app . R Ċ import Ġde . r ki . cor on aw arn app . databinding . Fragment Test Key download Adapter Line Binding Ċ import Ġde . r ki . cor on aw arn app . di agnosis keys . storage . Cached Key Info Ċ import Ġde . r ki . cor on aw arn app . ui . lists . Base Adapter Ċ import Ġde . r ki . cor on aw arn app . util . lists . Bind able VH Ċ import Ġde . r ki . cor on aw arn app . util . lists . diff util . Async Diff Util Adapter Ċ import Ġde . r ki . cor on aw arn app . util . lists . diff util . Async Differ Ċ import Ġde . r ki . cor on aw arn app . util . ui . set G one Ċ import Ġorg . joda . time . format . DateTime Format Ċ Ċ class ĠKey File Download Adapter ( ĊĠĠĠ Ġprivate Ġval Ġdelete Action : Ġ( Cached Key ListItem ) Ġ-> ĠUnit Ċ ) Ġ: ĠBase Adapter < Key File Download Adapter . Cached Key ViewHolder >(), ĠAsync Diff Util Adapter < Cached Key ListItem > Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġset Has Stable Ids ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġasync Differ : ĠAsync Differ < Cached Key ListItem > Ġ= ĠAsync Differ ( this ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġdata . size ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ= Ġdata [ position ]. stable Id ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Base VH ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠCached Key ViewHolder Ġ= ĠCached Key ViewHolder ( parent ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind Base VH ( holder : ĠCached Key ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġdata [ position ] ĊĠĠĠĠĠĠĠ Ġholder . item View . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Action ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . bind ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠCached Key ViewHolder ( ĊĠĠĠĠĠĠĠ Ġval Ġparent : ĠViewGroup ĊĠĠĠ Ġ) Ġ: ĠBase Adapter . VH ( ĊĠĠĠĠĠĠĠ ĠR . layout . fragment _ test _ key download _ adapter _ line , Ġparent ĊĠĠĠ Ġ), ĠBind able VH < Cached Key ListItem , ĠFragment Test Key download Adapter Line Binding > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġview Binding Ġ= Ġlazy Ġ{ ĠFragment Test Key download Adapter Line Binding . bind ( item View ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġon Bind Data : ĠFragment Test Key download Adapter Line Binding .( key : ĠCached Key ListItem ) Ġ-> ĠUnit Ġ= Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Info . text Ġ= Ġitem . info . location . identifier ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshort Size Ġ= ĠFormatter . format Short FileSize ( context , Ġitem . file Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Info . text Ġ= Ġwhen Ġ( item . info . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCached Key Info . Type . LOCATION _ DAY Ġ-> Ġ" Day Ġ($ short Size )" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCached Key Info . Type . LOCATION _ HOUR Ġ-> Ġ" Hour Ġ($ short Size )" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtime Info . text Ġ= Ġwhen Ġ( item . info . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCached Key Info . Type . LOCATION _ DAY Ġ-> Ġ"${ item . info . day }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCached Key Info . Type . LOCATION _ HOUR Ġ-> Ġ"${ item . info . day } Ġ${ item . info . hour !!. hour OfDay }: 0 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreation Data . text Ġ= Ġitem . info . createdAt . toString ( DOWNLOAD _ TIME _ FORMAT TER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreation Label . set G one (! item . info . is Download Complete ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreation Data . set G one (! item . info . is Download Complete ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Indicator . set G one ( item . info . is Download Complete ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠDOWN LOAD _ TIME _ FORMAT TER Ġ= ĠDateTime Format . for Pattern (" yyyy - MM - dd ĠHH : mm : ss . SSSS ") ĊĠĠĠ Ġ} Ċ } Ċ