package Ġio . n ich ij ou . t uj ian . ui . history Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . palette . graphics . Palette Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġio . n ich ij ou . t uj ian . R Ċ import Ġio . n ich ij ou . t uj ian . common . entity . Base Entity Ċ import Ġio . n ich ij ou . t uj ian . common . entity . B ing Ċ import Ġio . n ich ij ou . t uj ian . common . entity . Hit ok oto Ċ import Ġio . n ich ij ou . t uj ian . common . entity . Picture Ċ import Ġio . n ich ij ou . t uj ian . common . ext . make G one Ċ import Ġio . n ich ij ou . t uj ian . common . ext . make Visible Ċ import Ġio . n ich ij ou . t uj ian . common . ext . to Clipboard Ċ import Ġio . n ich ij ou . t uj ian . widget . Card Ċ import Ġorg . jetbrains . ank o . toast Ċ import Ġjava . util .* Ċ Ċ class ĠHistory Adapter ( private Ġval Ġitems : ĠList < Base Entity >) Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠ ĠB ING Ġ-> ĠB ing ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ history _ bing , Ġparent , Ġfalse )) ĊĠĠĠĠĠ ĠH IT OK OTO Ġ-> ĠHit ok oto ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ history _ hit ok oto , Ġparent , Ġfalse )) ĊĠĠĠĠĠ ĠP ICT URE Ġ-> ĠPicture ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ history _ picture , Ġparent , Ġfalse )) ĊĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġitems . size ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠB ING Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġconst Ġval ĠP ICT URE Ġ= Ġ 2 ĊĠĠĠ Ġprivate Ġconst Ġval ĠH IT OK OTO Ġ= Ġ 3 ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( items [ position ]) Ġ{ ĊĠĠĠĠĠ Ġis ĠHit ok oto Ġ-> ĠH IT OK OTO ĊĠĠĠĠĠ Ġis ĠPicture Ġ-> ĠP ICT URE ĊĠĠĠĠĠ Ġis ĠB ing Ġ-> ĠB ING ĊĠĠĠĠĠ Ġelse Ġ-> Ġ- 1 ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġval Ġcache Colors Ġ= ĠWeak HashMap < String , ĠList < Palette . Sw atch >>() ĊĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġwhen Ġ( holder ) Ġ{ ĊĠĠĠĠĠ Ġis ĠHit ok oto ViewHolder Ġ-> Ġholder . bind ( items [ position ] Ġas ĠHit ok oto ) ĊĠĠĠĠĠ Ġis ĠB ing ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġholder . item View Ġas ĠCard ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġitems [ position ] Ġas ĠB ing ĊĠĠĠĠĠĠĠ Ġview . setData B ing ( item , Ġcache Colors ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġis ĠPicture ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġholder . item View Ġas ĠCard ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġitems [ position ] Ġas ĠPicture ĊĠĠĠĠĠĠĠ Ġview . setData Picture ( item , Ġcache Colors ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġclass ĠHit ok oto ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġhit ok oto Ġ= ĠitemView . findViewById < TextView >( R . id . hit ok oto ) ĊĠĠĠ Ġprivate Ġval Ġsource Ġ= ĠitemView . findViewById < TextView >( R . id . source ) ĊĠĠĠ Ġfun Ġbind ( hi : ĠHit ok oto ?) Ġ{ ĊĠĠĠĠĠ Ġif Ġ( hi Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠ Ġhit ok oto . text Ġ= Ġhi . hit ok oto ĊĠĠĠĠĠ Ġsource . text Ġ= Ġhi . source ĊĠĠĠĠĠ Ġif Ġ( hi . source . trim (). isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġsource . make G one () ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġsource . make Visible () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠitemView . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġit . context . to Clipboard ( hi . hit ok oto Ġ+ Ġ"\ n " Ġ+ Ġhi . source ) ĊĠĠĠĠĠĠĠ Ġit . context . toast ( R . string . already _ copied ) ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġclass ĠPicture ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) ĊĊĠ Ġclass ĠB ing ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ċ } Ċ