package Ġcom . a ulia is b . weather forecast . ui Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . a ulia is b . weather forecast . R Ċ import Ġcom . a ulia is b . weather forecast . model . Weather Model Ċ import Ġcom . a ulia is b . weather forecast . utils . Date Processor Ċ import Ġcom . a ulia is b . weather forecast . view model . Main ViewModel Ċ import Ġkotlinx . android . synt hetic . main . main _ page .* Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ class ĠMain Fragment : ĠFragment () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġmain ViewModel : ĠMain ViewModel ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠMain Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMain Fragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . main _ page , Ġnull , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġmain ViewModel Ġ= ĠViewModel Providers . of ( this ). get ( Main ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġmain ViewModel . initialize () ĊĠĠĠĠĠĠĠ Ġmain ViewModel . weather ?. observe ( this , ĠObserver < Weather Model > Ġ{ Ġt : ĠWeather Model ? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswipe _ refresh . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtxt Time Ġ= ĠStringBuilder ( resources . getString ( R . string . last _ f etched )). append (" Ġ"). append ( Date Processor . convert Time ToString ( t ?. dt )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtx _ f etched _ time . text Ġ= ĠString ( txt Time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtx _ city . text Ġ= Ġ( t ?. name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtx _ temperature . text Ġ= t ?. main ?. temp ?. toInt (). toString () Ġ+ Ġresources . getString ( R . string . degree ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtx _ weather . text Ġ= Ġt ?. weather ?. get ( 0 )?. main ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin _ temp . text Ġ= Ġt ?. main ?. temp Min ?. toInt (). toString () Ġ+ Ġresources . getString ( R . string . degree ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax _ temp . text Ġ= Ġt ?. main ?. temp Max ?. toInt (). toString () Ġ+ Ġresources . getString ( R . string . degree ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpressure . text Ġ= Ġt ?. main ?. pressure . toString () Ġ+ Ġresources . getString ( R . string . pressure _ unit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhum idity . text Ġ= Ġt ?. main ?. humidity . toString () Ġ+ Ġ"% " ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġswipe _ refresh . setOn Refresh Listener Ġ{ Ġmain ViewModel . refresh () Ġ} ĊĠĠĠ Ġ} Ċ }