package Ġcom . ut air . presentation . ui . weather forecast Ċ Ċ import Ġandroid . content . Context Ċ 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 Ġcom . ut air . core . R Ċ import Ġcom . ut air . domain . global . models . Weather Forecast Ċ import Ġcom . ut air . domain . global . models . Weather Forecast . Weather Condition Ċ import Ġcom . ut air . presentation . ui . weather forecast . Hour ly Forecast Adapter . Product ViewHolder Ċ import Ġjava . text . SimpleDateFormat Ċ Ċ class ĠHour ly Forecast Adapter ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġhourly Forecast s : ĠList < Weather Forecast . Hour ly Forecast > Ċ ) Ġ: ĠRecyclerView . Adapter < Product ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlayout Inflater : ĠLayoutInflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠ Ġprivate Ġval Ġtime Formatter Ġ= ĠSimpleDateFormat (" HH : mm ") ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠProduct ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġlayout Inflater . inflate ( R . layout . item _ hourly _ forecast , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠProduct ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠProduct ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhourly Forecast Ġ= Ġhourly Forecast s [ position ] ĊĠĠĠĠĠĠĠ Ġholder . time . text Ġ= Ġtime Formatter . format ( hourly Forecast . dateTime . toDate ()) ĊĠĠĠĠĠĠĠ Ġholder . weather Icon . setImage Resource ( get Icon For Condition ( hourly Forecast . condition )) ĊĠĠĠĠĠĠĠ Ġholder . temperature . text Ġ= ĠString . format ("% . 2 f ĠÂ ° C ", Ġhourly Forecast . temperature ) ĊĠĠĠĠĠĠĠ Ġholder . wind Speed . text Ġ= ĠString . format ("% . 2 f Ġm / s ", Ġhourly Forecast . speed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġhourly Forecast s . size ĊĊĠĠĠ Ġprivate Ġfun Ġget Icon For Condition ( weather Condition : ĠWeather Condition ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( weather Condition ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Condition . SUN NY Ġ-> ĠR . drawable . ic _ sun ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Condition . FO G Ġ-> ĠR . drawable . ic _ fog ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Condition . LIGHT _ CLOUD S Ġ-> ĠR . drawable . ic _ light _ clouds ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Condition . CLOUD S Ġ-> ĠR . drawable . ic _ clouds ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Condition . LIGHT _ R AIN Ġ-> ĠR . drawable . ic _ light _ rain ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Condition . R AIN Ġ-> ĠR . drawable . ic _ rain ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Condition . S NOW Ġ-> ĠR . drawable . ic _ snow flake ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Condition . ST ORM Ġ-> ĠR . drawable . ic _ storm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . drawable . ic _ question ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠProduct ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtime : ĠTextView ĊĠĠĠĠĠĠĠ Ġval Ġweather Icon : ĠImageView ĊĠĠĠĠĠĠĠ Ġval Ġtemperature : ĠTextView ĊĠĠĠĠĠĠĠ Ġval Ġwind Speed : ĠTextView ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtime Ġ= ĠitemView . findViewById < View >( R . id . forecast _ time ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweather Icon Ġ= ĠitemView . findViewById < View >( R . id . weather _ icon ) Ġas ĠImageView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemperature Ġ= ĠitemView . findViewById < View >( R . id . temperature ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwind Speed Ġ= ĠitemView . findViewById < View >( R . id . wind _ speed ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }