package Ġfi . t iko . van ill aw e ather . adapters Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġfi . t iko . van ill aw e ather . R Ċ import Ġfi . t iko . van ill aw e ather . capitalize Ċ import Ġfi . t iko . van ill aw e ather . epoch ToDate Ċ import Ġfi . t iko . van ill aw e ather . open weather . Hour ly Weather Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ import Ġkotlin . math . round ToInt Ċ Ċ // ĠRecyclerView Ġadapter Ġfor Ġhourly Ġforecast s . Ċ class ĠHour ly Forecast Adapter ( private Ġval ĠdataSet : ĠList < Hour ly Weather >) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Hour ly Forecast Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠtextView Time : ĠTextView Ġ= Ġview . findViewById ( R . id . textView Hour ly Time ) ĊĠĠĠĠĠĠĠ Ġval ĠtextView Temperature : ĠTextView Ġ= Ġview . findViewById ( R . id . textView Temperature ) ĊĠĠĠĠĠĠĠ Ġval Ġtext Weather Type : ĠTextView Ġ= Ġview . findViewById ( R . id . text Weather Type ) ĊĠĠĠĠĠĠĠ Ġval ĠtextView Wind : ĠTextView Ġ= Ġview . findViewById ( R . id . textView Wind ) ĊĠĠĠĠĠĠĠ Ġval ĠimageView Icon : ĠImageView Ġ= Ġview . findViewById ( R . id . forecast Icon ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠCreate Ġnew Ġviews Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ). ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( view Group : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġa Ġnew Ġview , Ġwhich Ġdefines Ġthe ĠUI Ġof Ġthe Ġlist Ġitem . ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( view Group . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . hourly _ item , Ġview Group , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠReplace Ġthe Ġcontents Ġof Ġa Ġview Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ). ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( view Holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġweather Ġ= ĠdataSet [ position ] ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġepoch ToDate ( weather . forecast . dt !! ) ĊĊĠĠĠĠĠĠĠ ĠviewHolder . textView Time . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSimpleDateFormat (" d . M ĠHH : mm ", ĠLocale . getDefault ()). format ( date ) ĊĠĠĠĠĠĠĠ ĠviewHolder . textView Temperature . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . item View . context . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . temperature , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweather . forecast . temp ?. round ToInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠviewHolder . text Weather Type . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcapital ize ( weather . forecast . weather ?. get ( 0 )?. description ) ĊĠĠĠĠĠĠĠ ĠviewHolder . textView Wind . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . item View . context . getString ( R . string . wind _ speed , Ġweather . forecast . wind _ speed ) ĊĠĠĠĠĠĠĠ ĠviewHolder . imageView Icon . setImage Bitmap ( weather . icon ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠReturn Ġthe Ġsize Ġof Ġthe Ġdataset Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ). ĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= ĠdataSet . size Ċ }