package Ġcom . raz v ant mz . on em ove . adapters Ċ Ċ import Ġandroid . location . Location Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Base Adapter Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġco il . api . load Ċ import Ġcom . raz v ant mz . on em ove . R Ċ import Ġcom . raz v ant mz . on em ove . models . Comp etition Model Ċ import Ġcom . raz v ant mz . on em ove . models . Route Location Ċ import Ġcom . raz v ant mz . on em ove . models . Setter Ċ Ċ class ĠLocation Spinner Adapter () Ġ: ĠBase Adapter () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġitem Source : ĠList < Route Location > Ġ= Ġempty List () ĊĠĠĠ Ġprivate Ġvar Ġfiltered Item Source : ĠList < Route Location > Ġ= Ġempty List () ĊĠĠĠ Ġprivate Ġvar Ġroute Type : Int Ġ= Ġ 0 ĊĊĠĠĠ Ġclass ĠLocation Spinner ViewHolder ( layout Inflater : ĠLayoutInflater , Ġparent : ĠViewGroup ?, Ġid : Int ) Ġ: ĠRecyclerView . ViewHolder ( layout Inflater . inflate ( ĊĠĠĠĠĠĠ Ġid , Ġparent , Ġfalse )) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠtextView : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ cell _ location _ spn _ name ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠimageView : ĠImageView Ġ= ĠitemView . findViewById ( R . id . iv _ cell _ location _ spn ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( item : ĠRoute Location ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġitem . name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView . load ( item . image ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠviewHolder Ġ= ĠLocation Spinner Adapter . Location Spinner ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent ?. context ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent !! , Ġ ĠR . layout . cell _ location _ spinner ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠviewHolder . bind ( filtered Item Source [ position ]) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠviewHolder . item View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget DropDown View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠviewHolder Ġ= ĠLocation Spinner Adapter . Location Spinner ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent ?. context ), Ġparent !! , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . cell _ location _ spinner _ dropdown ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠviewHolder . bind ( filtered Item Source [ position ]) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠviewHolder . item View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Item Source ( item Source : ĠList < Route Location >) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . item Source Ġ= Ġitem Source ĊĠĠĠĠĠĠĠ Ġfiltered Item Source Ġ= Ġfilter List ( route Type ) ĊĠĠĠĠĠĠĠ Ġthis . notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetItem At Position ( position : ĠInt ): ĠRoute Location ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfiltered Item Source [ position ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Type ( type : Int ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġroute Type Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġfiltered Item Source Ġ= Ġfilter List ( type ) ĊĠĠĠĠĠĠĠ Ġthis . notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfiltered Item Source [ position ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġposition . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfiltered Item Source . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfilter List ( route Type : Int ) Ġ: ĠList < Route Location > ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġitem Source . filter Ġ{ Ġroute Location Ġ-> Ġroute Location . type Ġ== Ġroute Type Ġ} ĊĠĠĠ Ġ} Ċ }