package Ġcom . raz ew are . emit ron . ui . settings Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . raz ew are . emit ron . R Ċ Ċ /** Ċ Ġ* ĠSettings Ġbottom Ġsheet Ġto Ġshow Ġsettings Ġoption Ċ Ġ*/ Ċ class ĠSettings Bottom Sheet Adapter ( ĊĠ Ġprivate Ġval Ġitems : ĠList < Pair < String , ĠBoolean >>, ĊĠ Ġprivate Ġval Ġon ItemSelected : Ġ( Int ) Ġ-> ĠUnit Ċ ) Ġ: ĊĠ ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġ[ RecyclerView . Adapter . getItem ViewType ] ĊĠĠ Ġ* ĊĠĠ Ġ* ĠR . layout . item _ recent _ search _ header Ġ-> Ġto Ġshow Ġrecent Ġsearch Ġitem Ġheader ĊĠĠ Ġ*/ ĊĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġreturn ĠR . layout . item _ settings _ bottom sheet ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġ[ RecyclerView . Adapter . onCreate ViewHolder ] ĊĠĠ Ġ*/ ĊĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠ ĠR . layout . item _ settings _ bottom sheet Ġ-> ĠSettings Bottom Sheet Item ViewHolder . create ( ĊĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠ Ġview Type ĊĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġ[ RecyclerView . Adapter . getItem Count ] ĊĠĠ Ġ*/ ĊĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġitems . size ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġ[ RecyclerView . Adapter . on Bind ViewHolder ] ĊĠĠ Ġ*/ ĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġwhen Ġ( holder ) Ġ{ ĊĠĠĠĠĠ Ġis ĠSettings Bottom Sheet Item ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( option , Ġchecked ) Ġ= Ġitems [ position ] ĊĠĠĠĠĠĠĠ Ġholder . bind To ( option , Ġchecked ) Ġ{ Ġclick Position Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġon ItemSelected ( click Position ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠNo Ġsuch Ġcase ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ