package Ġcom . h xb reak . animal cross ing tools . ui . home Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . core . view . do On Layout Ċ import Ġandroidx . core . view . do On Next Layout Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . google . android . material . badge . Badge Drawable Ċ import Ġcom . google . android . material . badge . Badge Utils Ċ import Ġcom . h xb reak . animal cross ing tools . G lide App Ċ import Ġcom . h xb reak . animal cross ing tools . R Ċ import Ġcom . h xb reak . animal cross ing tools . adapter . Common Item Decoration Ċ import Ġcom . h xb reak . animal cross ing tools . adapter . Item View Delegate Ċ import Ġcom . h xb reak . animal cross ing tools . adapter . Light Adapter Ċ import Ġcom . h xb reak . animal cross ing tools . data . source . entity . Fish Entity Ċ import Ġcom . h xb reak . animal cross ing tools . domain . home . Local Availability Entity Ċ import Ġcom . h xb reak . animal cross ing tools . utils . View Utils Ċ import Ġkotlinx . android . extensions . Layout Container Ċ import Ġkotlinx . android . synt hetic . main . item _ fish _ circle _ view .* Ċ import Ġkotlinx . android . synt hetic . main . item _ fish _ notice .* Ċ Ċ class ĠCached Fish Preview Adapter : ĠRecyclerView . Adapter < Cached Fish Preview Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġvar Ġlist : ĠList < Local Availability Entity < Fish Entity >> ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( override Ġval Ġcontainer View : ĠView ): ĠRecyclerView . ViewHolder ( container View ), ĠLayout Container Ġ{ ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= ĠCommon Item Decoration ( View Utils . dp 2 px ( container View . context , Ġ 4 f ). toFloat (), Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cycler _ view . addItem Decoration ( decoration ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( it : ĠList < Local Availability Entity < Fish Entity >>) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠLight Adapter () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cycler _ view . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . register ( Fish Entity Circle View ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . submit List ( it . take ( 5 ). map Ġ{ Ġit . entity Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotice _ text . text Ġ= Ġ" 5 ĠActive ..." ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ fish _ notice , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlist ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġif Ġ( list . isNull OrEmpty ()) Ġ 0 Ġelse Ġ 1 Ċ } Ċ Ċ class ĠFish Entity Circle View : ĠItem View Delegate < Fish Entity , ĠFish Entity Circle View . ViewHolder >{ ĊĊĠĠĠ Ġ@ Suppress Lint (" Unsafe Experimental Usage Error ") ĊĠĠĠ Ġinner Ġclass ĠViewHolder ( override Ġval Ġcontainer View : ĠView ): ĠRecyclerView . ViewHolder ( container View ), ĊĠĠĠĠĠĠĠ ĠLayout Container Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbadge Drawable : ĠBadge Drawable Ġ= ĠBadge Drawable . create ( container View . context ) ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbadge Drawable . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbadge Drawable . badge Gravity Ġ= ĠBadge Drawable . TOP _ END ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage . do On Layout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBadge Utils . attach Badge Drawable ( badge Drawable , Ġimage , Ġroot _ container ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( entity : ĠFish Entity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbadge Drawable . backgroundColor Ġ= ĠColor . GREEN ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide App . with ( container View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( entity . icon _ uri ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( image ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup ): ĠFish Entity Circle View . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ fish _ circle _ view , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( data : ĠFish Entity ?, Ġv h : ĠFish Entity Circle View . ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h . bind ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }