/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠCl iff ord ĠLi u Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . mad ness . collision . we arable . av Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . text . format . Date Utils Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . Space Ċ import Ġandroidx . appcompat . widget . AppCompat TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . mad ness . collision . we arable . av . data . Api View ing App Ċ import Ġcom . mad ness . collision . we arable . av . data . Easy Access Ċ import Ġcom . mad ness . collision . we arable . av . data . Ver Info Ċ import Ġcom . mad ness . collision . we arable . databinding . Adapter Av Binding Ċ import Ġcom . mad ness . collision . we arable . di y . Sand wich Adapter Ċ import Ġcom . mad ness . collision . we arable . util . X Ċ import Ġcom . mad ness . collision . we arable . util . dart Future Ċ Ċ internal Ġclass ĠAPI Adapter ( private Ġval Ġcontext : ĠContext ) Ġ: ĠSand wich Adapter < API Adapter . Holder >() Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠgetItem Color Accent ( api Level : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( api Level ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX . R Ġ-> Ġ" acd 5 c 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX . Q Ġ-> Ġ" c 1 d 5 ac " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX . P Ġ-> Ġ" e 0 c 8 b 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX . O , ĠX . O _ MR 1 Ġ-> Ġ" b 0 b 0 b 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX . N , ĠX . N _ MR 1 Ġ-> Ġ" ffb 2 a 8 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX . M Ġ-> Ġ" b 0 c 9 c 5 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX . L , ĠX . L _ MR 1 Ġ-> Ġ" ffb 0 b 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX . K , ĠX . K _ WATCH Ġ-> Ġ" d 0 c 7 ba " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX . J , ĠX . J _ MR 1 , ĠX . J _ MR 2 Ġ-> Ġ" baf 5 ba " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX . I , ĠX . I _ MR 1 Ġ-> Ġ" d 8 d 0 c 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX . H , ĠX . H _ MR 1 , ĠX . H _ MR 2 Ġ-> Ġ" f 0 c 8 b 4 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" c 5 e 8 b 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠColor . parse Color ("# $ this ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠH older ( binding : ĠAdapter Av Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlogo : ĠImageView Ġ= Ġbinding . av Adapter Info Logo ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠAppCompat TextView Ġ= Ġbinding . av Adapter Info Name Ġas ĠAppCompat TextView ĊĠĠĠĠĠĠĠ Ġval Ġupdate Time : ĠAppCompat TextView Ġ= Ġbinding . av Adapter Info Time Ġas ĠAppCompat TextView ĊĠĠĠĠĠĠĠ Ġval Ġapi : ĠAppCompat TextView Ġ= Ġbinding . av Adapter Info API Ġas ĠAppCompat TextView ĊĠĠĠĠĠĠĠ Ġval Ġinfo : ĠLinearLayout Ġ= Ġbinding . av Adapter Info ĊĠĠĠĠĠĠĠ Ġval Ġspace : ĠSpace Ġ= Ġbinding . av Adapter Space ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġapps : ĠList < Api View ing App > Ġ= Ġempty List () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġvar Ġspan Count : ĠInt Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ> Ġ 0 ) Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġlist Count : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġapps . size ĊĠĠĠ Ġval Ġindex Offset : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġspan Count ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrv : ĠRecyclerView ĊĠĠĠ Ġprivate Ġval Ġinflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠ Ġprivate Ġvar Ġsort Method : ĠInt Ġ= ĠApi Fragment . SORT _ POSITION _ API _ LOW ĊĠĠĠ Ġvar Ġlist Inset Bottom Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġval Ġshould Show Time Ġ: ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsort Method Ġ== ĠApi Fragment . SORT _ POSITION _ API _ TIME ĊĊĠĠĠ Ġfun Ġset Sort Method ( sort Method : ĠInt ): ĠAPI Adapter Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . sort Method Ġ= Ġsort Method ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attached To RecyclerView ( re cyclerView : ĠRecyclerView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attached To RecyclerView ( re cyclerView ) ĊĠĠĠĠĠĠĠ Ġrv Ġ= Ġre cyclerView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠH older Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠH older ( Adapter Av Binding . inflate ( in flater , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmake Space ( holder : ĠH older , Ġheight : ĠInt ){ ĊĠĠĠĠĠĠĠ Ġholder . space . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġholder . info . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġholder . space . minimum Height Ġ= Ġheight ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Make Top Cover ( holder : ĠH older ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmake Space ( holder , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Make Fill In ( holder : ĠH older ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmake Space ( holder , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Make Bottom Cover ( holder : ĠH older ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmake Space ( holder , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Make Body ( holder : ĠH older , Ġindex : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . space . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġholder . info . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠ Ġholder . logo . visibility Ġ= Ġif Ġ( Easy Access . isIn Ambient Mode ) ĠView . IN VISIBLE Ġelse ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠ Ġval Ġapp Info Ġ= Ġapps [ index ] ĊĠĠĠĠĠĠĠ Ġholder . name . dart Future ( app Info . name ) ĊĠĠĠĠĠĠĠ Ġif Ġ( app Info . preload ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġholder . logo . setImage Bitmap ( app Info . logo ) ĊĊĠĠĠĠĠĠĠ Ġval Ġver Info Ġ= ĠVer Info . target Display ( app Info ) ĊĠĠĠĠĠĠĠ Ġholder . api . dart Future ( ver Info . sdk ) ĊĊĠĠĠĠĠĠĠ Ġholder . api . setTextColor ( if Ġ(! Easy Access . isIn Ambient Mode Ġ&& ĠEasy Access . is S weet ) ĠgetItem Color Accent ( ver Info . api ) ĊĠĠĠĠĠĠĠ Ġelse Ġholder . name . current TextColor ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( should Show Time ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . update Time . dart Future ( Date Utils . get Relative TimeSpan String ( app Info . update Time , ĠSystem . currentTimeMillis (), ĠDate Utils . MINUTE _ IN _ M ILL IS )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . update Time . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . update Time . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }