package Ġio . horizontal systems . bank wallet . modules . rate list Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġio . horizontal systems . bank wallet . R Ċ import Ġio . horizontal systems . core . helpers . Date Helper Ċ import Ġio . horizontal systems . views . inflate Ċ import Ġkotlinx . android . extensions . Layout Container Ċ import Ġkotlinx . android . synt hetic . main . view _ holder _ date .* Ċ import Ġkotlinx . android . synt hetic . main . view _ holder _ title .* Ċ import Ġjava . util .* Ċ Ċ class ĠCoin Rates Header Adapter ( private Ġval Ġtitle : ĠCharSequence , Ġprivate Ġval Ġsort Button ClickListener : ĠView . OnClickListener ? Ġ= Ġnull ) Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġvar Ġtimestamp Ġ= Ġ 0 L ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Changed ( 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġ 2 ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠDate ViewHolder . layout ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠTitle ViewHolder . layout ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate ViewHolder . layout Ġ-> ĠDate ViewHolder . create ( parent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTitle ViewHolder . layout Ġ-> ĠTitle ViewHolder . create ( parent , Ġsort Button ClickListener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Undefined Ġview Type : Ġ$ view Type ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( holder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDate ViewHolder Ġ-> Ġholder . set Timestamp ( timestamp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠTitle ViewHolder Ġ-> Ġholder . setTitle ( title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠDate ViewHolder ( override Ġval Ġcontainer View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( container View ), ĠLayout Container Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġset Timestamp ( timestamp : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate . text Ġ= ĠDate Helper . get Day And Time ( Date ( timestamp Ġ* Ġ 1 0 0 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconst Ġval Ġlayout Ġ= ĠR . layout . view _ holder _ date ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġcreate ( parent : ĠViewGroup ) Ġ= ĠDate ViewHolder ( inflate ( parent , Ġlayout , Ġfalse )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠTitle ViewHolder ( override Ġval Ġcontainer View : ĠView , Ġsort Button ClickListener : ĠView . OnClickListener ?) Ġ: ĠRecyclerView . ViewHolder ( container View ), ĠLayout Container Ġ{ ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsort Button . isVisible Ġ= Ġsort Button ClickListener Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsort Button . setOnClickListener ( sort Button ClickListener ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠsetTitle ( title Str : ĠCharSequence ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . text Ġ= Ġtitle Str ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconst Ġval Ġlayout Ġ= ĠR . layout . view _ holder _ title ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġcreate ( parent : ĠViewGroup , Ġsort Button ClickListener : ĠView . OnClickListener ?): ĠTitle ViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTitle ViewHolder ( inflate ( parent , Ġlayout , Ġfalse ), Ġsort Button ClickListener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊ Ċ } ĊĊĊ