package Ġcom . mob i qu ity . arn ab . weather . ui . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . mob i qu ity . arn ab . weather . R Ċ import Ġcom . mob i qu ity . arn ab . weather . enums . Units Ċ import Ġcom . mob i qu ity . arn ab . weather . network . response . Forecast Response Ċ import Ġcom . mob i qu ity . arn ab . weather . utils . Constants Ċ import Ġcom . mob i qu ity . arn ab . weather . utils . Date Formatter Ċ import Ġkotlinx . android . synt hetic . main . row _ forecast . view .* Ċ Ċ class ĠFore cast Adapter ( val Ġfive Day Forecast : ĠList < Forecast Response . Five Day >) Ġ: ĠRecyclerView . Adapter < Forecast Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġctx : ĠContext ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġunits : ĠUnits ĊĊĠĠĠ Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . row _ forecast , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġctx Ġ= Ġparent . context ĊĠĠĠĠĠĠĠ Ġval Ġsp Ġ= Ġctx . get SharedPreferences ( Constants . SP _ NAME , ĠAppCompatActivity . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġunits Ġ= Ġif Ġ( sp . getString (" unit ", ĠUnits . metric . name ) Ġ== ĠUnits . metric . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUnits . metric ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUnits . imp erial ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠFore cast Adapter . ViewHolder ( item View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . item View . tv _ date _ time . text Ġ= ĠDate Formatter . get Formatted Date ( five Day Forecast [ position ]. dt . to Long ()* 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( units Ġ== ĠUnits . metric ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv _ temp . text Ġ= Ġ"${ five Day Forecast [ position ]. main . temp . toInt ()} Â° C " ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv _ temp . text Ġ= Ġ"${ five Day Forecast [ position ]. main . temp . toInt ()} Â° F " ĊĊĠĠĠĠĠĠĠ Ġholder . item View . tv _ humidity . text Ġ= Ġ" Hum idity : Ġ${ five Day Forecast [ position ]. main . humidity } %" ĊĠĠĠĠĠĠĠ Ġholder . item View . tv _ rain _ info . text Ġ= Ġ" Cloud s Ġ${ five Day Forecast [ position ]. clouds . all } %" ĊĠĠĠĠĠĠĠ Ġholder . item View . tv _ wind _ info . text Ġ= Ġ" Wind Ġspeed Ġ${ five Day Forecast [ position ]. wind . speed } km / hr \ nt ow ards Ġ${ five Day Forecast [ position ]. wind . deg } Â° " ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfive Day Forecast . size ĊĠĠĠ Ġ} Ċ }