package Ġcom . awesome . weather app . ui . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . awesome . weather app . R Ċ import Ġcom . awesome . weather app . databinding . Fragment Detail Forecast Binding Ċ import Ġcom . awesome . weather app . models . Weather Item Model Ċ import Ġcom . awesome . weather app . utilities . Weather Date Utils Ċ import Ġcom . awesome . weather app . utilities . Weather Utils ĊĊ Ċ class ĠFore cast Details Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġweather Item Model : ĠWeather Item Model ĊĊĠĠĠ Ġprivate Ġvar Ġ_ binding : ĠFragment Detail Forecast Binding ? Ġ= Ġnull ĊĠĠĠ Ġinternal Ġvar Ġview : ĠView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġbinding Ġget () Ġ= Ġ_ binding !! ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġif Ġ( arguments Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweather Item Model Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Arguments (). get Parcelable < Weather Item Model >(" weather Item Model ") Ġas ĠWeather Item Model ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠData Binding Util . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater , ĠR . layout . fragment _ detail _ forecast , Ġcontainer , Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweather Item Model . also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/ **************** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠWeather ĠIcon Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ********* *******/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġweather Image Id : ĠInt Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Utils . get Large Art ResourceId For Weather Condition ( it . location Weather . weather Condition Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠSet Ġthe Ġresource ĠID Ġon Ġthe Ġicon Ġto Ġdisplay Ġthe Ġart Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Info . weather Icon . setImage Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweather Image Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/ **************** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠWeather ĠDate Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ********* *******/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Text : ĠString Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Date Utils . get Friendly DateString ( require Context (), Ġit . location Date , Ġtrue ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Info . date . text Ġ= Ġdate Text ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/ **************** ******* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠWeather ĠDescription Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ***************** ******/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠUse Ġthe Ġweather Id Ġto Ġobtain Ġthe Ġproper Ġdescription Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdescription : ĠString Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Utils . getString For Weather Condition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . location Weather . weather Condition Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠSet Ġthe Ġtext Ġand Ġcontent Ġdescription Ġ( for Ġaccessibility Ġpurposes ) Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Info . weather Description . text Ġ= Ġdescription ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/ ************************ ** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠHigh Ġ( max ) Ġtemperature Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ************************* */ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhigh String : ĠString Ġ= ĠWeather Utils . format Temperature ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . location Weather . weather Temp Max ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠSet Ġthe Ġtext Ġand Ġcontent Ġdescription Ġ( for Ġaccessibility Ġpurposes ) Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Info . high Temperature . text Ġ= Ġhigh String ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/ ************************ * ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠLow Ġ( min ) Ġtemperature Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlow String : ĠString Ġ= ĠWeather Utils . format Temperature ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . location Weather . weather Temp Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠSet Ġthe Ġtext Ġand Ġcontent Ġdescription Ġ( for Ġaccessibility Ġpurposes ) Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Info . low Temperature . text Ġ= Ġlow String ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/ ******** **** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠHum idity Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠRead Ġhum idity Ġfrom Ġthe Ġcursor Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhum idity : ĠFloat Ġ= Ġit . location Weather . weather Hum idity . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhum idity String Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . format _ humidity , Ġhum idity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠSet Ġthe Ġtext Ġand Ġcontent Ġdescription Ġ( for Ġaccessibility Ġpurposes ) Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Details . humidity . text Ġ= Ġhum idity String ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/ ************************ **** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠWind Ġspeed Ġand Ġdirection Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ************************* ***/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠRead Ġwind Ġspeed Ġ( in ĠM PH ) Ġand Ġdirection Ġ( in Ġcomp ass Ġdegrees ) Ġfrom Ġthe Ġcursor Ġ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwind Speed : ĠFloat Ġ= Ġit . location Weather . weather Wind . speed . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwind Direction : ĠFloat Ġ= Ġit . location Weather . weather Wind . deg . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwind String : ĠString Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Utils . get Formatted Wind ( require Context (), Ġwind Speed , Ġwind Direction ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠSet Ġthe Ġtext Ġand Ġcontent Ġdescription Ġ( for Ġaccessibility Ġpurposes ) Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Details . wind Measurement . text Ġ= Ġwind String ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/ ******** **** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠPress ure Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ********* ***/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpressure : ĠFloat Ġ= Ġit . location Weather . weather Pressure . toFloat () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpressure String Ġ= ĠgetString ( R . string . format _ pressure , Ġpressure ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠSet Ġthe Ġtext Ġand Ġcontent Ġdescription Ġ( for Ġaccessibility Ġpurposes ) Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Details . pressure . text Ġ= Ġpressure String ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }