package Ġcom . ch ait up en ju . covid tracker . adapters Ċ Ċ import Ġandroid . widget . Filter Ċ import Ġandroid . widget . Filter able Ċ import Ġcom . ch ait up en ju . covid tracker . BR Ċ import Ġcom . ch ait up en ju . covid tracker . R Ċ import Ġcom . ch ait up en ju . covid tracker . models . State wise Item Ċ import Ġjava . util . Locale Ċ Ċ class ĠState List Recycler Adapter ( private Ġval Ġstate List : ĠList < State wise Item >) Ġ: ĊĠĠĠ ĠGeneric Recycler Adapter < State wise Item >( ĊĠĠĠĠĠĠĠ Ġstate List , ĊĠĠĠĠĠĠĠ ĠBR . state Item , ĊĠĠĠĠĠĠĠ ĠR . layout . item _ state wise _ list ĊĠĠĠ Ġ), ĠFilter able Ġ{ ĊĊĠĠĠ Ġvar Ġstate Filter List Ġ= Ġempty List < State wise Item >() ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġstate Filter List Ġ= Ġstate List ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Sort Items ( type : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġstate Filter List Ġ= Ġstate List . sorted By Ġ{ Ġit . state Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġstate Filter List Ġ= Ġstate List . sorted By Descending Ġ{ Ġit . state Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġstate Filter List Ġ= Ġstate List . sorted By Ġ{ Ġit . confirmed ?. toInt () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġstate Filter List Ġ= Ġstate List . sorted By Descending Ġ{ Ġit . confirmed ?. toInt () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> Ġstate Filter List Ġ= Ġstate List . sorted By Ġ{ Ġit . deaths ?. toInt () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> Ġstate Filter List Ġ= Ġstate List . sorted By Descending Ġ{ Ġit . deaths ?. toInt () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsuper . update List Items ( state Filter List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Filter edList ( state Filter List : ĠList < State wise Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . update List Items ( state Filter List ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġget Filter (): ĠFilter Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠFilter () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġruns Ġon Ġbackground Ġthread ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġperform Filtering ( constraint : ĠCharSequence ?): ĠFilter Results Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchar Search Ġ= Ġconstraint . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Filter List Ġ= Ġif Ġ( char Search . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate List ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate List . filter Ġ{ Ġstate Item Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Item . state ?. toLowerCase ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocale . ROOT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ?. contains ( char Search . toLowerCase ( Locale . ROOT )) !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfiltered Results Ġ= ĠFilter Results () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfiltered Results . values Ġ= Ġstate Filter List ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfiltered Results ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġruns Ġon Ġmain Ġthread ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpublish Results ( constraint : ĠCharSequence ?, Ġresults : ĠFilter Results ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Filter List Ġ= Ġresults ?. values Ġas ĠList < State wise Item > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Filter edList ( state Filter List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }