package Ġcom . cls rf ish . fish qr . page . q rg en . view holder Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . cls rf ish . common . list . Base ViewHolder 2 Ċ import Ġcom . cls rf ish . common . utils . dip 2 px Ċ import Ġcom . cls rf ish . fish qr . R Ċ import Ġcom . cls rf ish . fish qr . base . glide . Round Center Crop Transformation Ċ import Ġcom . cls rf ish . fish qr . page . q rg en . cus cat . Drawable List Context Ċ import Ġcom . cls rf ish . fish qr . page . q rg en . model . Image Custom Model Ċ import Ġkotlinx . android . synt hetic . main . item _ custom _ drawable . view .* Ċ Ċ /** Ċ Ġ* Ġ@ author Ġcls rf ish Ċ Ġ* Ġ@ since Ġ 3 / 6 / 2 1 Ġ 1 2 : 1 0 Ċ Ġ* Ġ@ email Ġcls rf ish @ gmail . com Ċ Ġ*/ Ċ class ĠImage ViewHolder ( view Group : ĠViewGroup ) Ġ: ĊĠĠĠ ĠBase ViewHolder 2 < Image Custom Model >( view Group , ĠR . layout . item _ custom _ drawable ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ( data : ĠImage Custom Model ) Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( item View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( data . src Image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Options . bitmap Transform ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRound Center Crop Transformation ( dip 2 px ( item View . context , Ġ 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( item View . custom Preview Bg ) ĊĊĠĠĠĠĠĠĠ Ġload Editable Icon ( data ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( data . badge Txt . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . custom Badge Tv . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . custom Badge Tv . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . custom Badge Tv . text Ġ= Ġdata . badge Txt ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . editable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġas List Context < Drawable List Context >(). pick Photo () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġas List Context < Drawable List Context >(). update Image ( data . src Image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġload Editable Icon ( data : ĠImage Custom Model ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! data . editable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . custom Op Hint Iv . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠitemView . custom Op Hint Iv . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠ ĠG lide . with ( item View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ Ġrequest Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . edit Icon . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . load ( R . drawable . ic _ outline _ add _ photo _ alternate _ 2 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . load ( data . edit Icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( item View . custom Op Hint Iv ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠVIEW TYPE _ ID Ġ= Ġ 2 ĊĠĠĠ Ġ} Ċ }