package Ġcom . example . comm ont ask . view . map pers Ċ Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ object ĠFore cast Common Mapper Ġ{ ĊĊĠĠĠ Ġfun Ġget Weather Description ( icon : ĠString ): ĠString Ġ= Ġwhen Ġ( icon ) Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġ" clear - day ", Ġ" clear - night " Ġ-> Ġ" clear Ġsky " ĊĠĠĠĠĠĠĠ Ġ" rain " Ġ-> Ġ" rain " ĊĠĠĠĠĠĠĠ Ġ" snow " Ġ-> Ġ" snow " ĊĠĠĠĠĠĠĠ Ġ" s leet " Ġ-> Ġ" s leet " ĊĠĠĠĠĠĠĠ Ġ" wind " Ġ-> Ġ" wind " ĊĠĠĠĠĠĠĠ Ġ" fog " Ġ-> Ġ" fog " ĊĠĠĠĠĠĠĠ Ġ" cloud y " Ġ-> Ġ" cloud y " ĊĠĠĠĠĠĠĠ Ġ" part ly - cloud y - day ", Ġ" part ly - cloud y - night " Ġ-> Ġ" part ly Ġcloud y Ġday " ĊĠĠĠĠĠĠĠ Ġ" h ail " Ġ-> Ġ" h ail " ĊĠĠĠĠĠĠĠ Ġ" th under storm " Ġ-> Ġ" th under storm " ĊĠĠĠĠĠĠĠ Ġ" t ornado " Ġ-> Ġ" t ornado " ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" Î ľ Î· - Î ĳ Î½ Î± Î³ Î½ Ïī Ïģ Î¯ Ïĥ Î¹ Î¼ Î¿ ĠÎ ¦ Î±Î¹ Î½ ÏĮ Î¼ Îµ Î½ Î¿ " ĊĊĊĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġfun Ġcalculate Wind ( w : ĠDouble ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( w Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"% . 2 f ". format ( w ) Ġ+ Ġ" Ġm / s " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" NA " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcalculate Hum idity ( h : ĠDouble ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( h Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhum idity Ġ= Ġh . times ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"% . 0 f ". format ( humidity ) Ġ+ Ġ" Ġ% " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" NA " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġf 1 Ġ= Ġlow , Ġf 2 Ġ= Ġhigh ĊĠĠĠ Ġfun Ġfa hren heit To C els ius ( f 1 : ĠDouble ?, Ġf 2 : ĠDouble ? Ġ= Ġnull ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( f 2 Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( f 1 Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemperature Ġ= Ġ( f 1 Ġ- Ġ 3 2 ) Ġ* Ġ 0 . 5 5 5 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(" %. 0 f ". format ( temperature ) Ġ== Ġ"- 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 Â° C " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"% . 0 f ". format ( temperature ) Ġ+ Ġ" Â° C " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" NA " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( f 1 Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemperature Low Ġ= Ġ( f 1 Ġ- Ġ 3 2 ) Ġ* Ġ 0 . 5 5 5 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemperature High Ġ= Ġ( f 2 Ġ- Ġ 3 2 ) Ġ* Ġ 0 . 5 5 5 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(" %. 0 f ". format ( temperature Low ) Ġ== Ġ"- 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 Â° " Ġ+ Ġ" Ġ| Ġ" Ġ+ Ġ"% . 0 f ". format ( temperature High ) Ġ+ Ġ" Â° " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(" %. 0 f ". format ( temperature High ) Ġ== Ġ"- 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"% . 0 f ". format ( temperature Low ) Ġ+ Ġ" Â° " Ġ+ Ġ" Ġ| Ġ" Ġ+ Ġ" 0 Â° " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(" %. 0 f ". format ( temperature Low ) Ġ== Ġ"- 0 " Ġ&& Ġ"% . 0 f ". format ( temperature High ) Ġ== Ġ"- 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 Â° " Ġ+ Ġ" Ġ| Ġ" Ġ+ Ġ" 0 Â° " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"% . 0 f ". format ( temperature Low ) Ġ+ Ġ" Â° " Ġ+ Ġ" Ġ| Ġ" Ġ+ Ġ"% . 0 f ". format ( temperature High ) Ġ+ Ġ" Â° " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" NA " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ListItem Day ( unix Time : ĠLong ): ĠString Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( unix Time Ġ* Ġ 1 0 0 0 L ) Ġ// Ġ* 1 0 0 0 Ġis Ġto Ġconvert Ġseconds Ġto Ġmilliseconds ĊĠĠĠĠĠĠĠ Ġval Ġsdf Ġ= ĠSimpleDateFormat (" E ", ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġsdf . format ( date ) ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Icon ( condition : ĠString ?, Ġtime Stamp : ĠLong ? Ġ= Ġnull ): ĠString Ġ{ ĊĊĊĊĠĠĠĠĠĠĠ Ġval Ġcal Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġvar Ġhour Ġ= Ġcal . get ( Calendar . HOUR _ OF _ DAY ) ĊĠĠĠĠĠĠĠ Ġif Ġ( time Stamp Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( time Stamp Ġ* Ġ 1 0 0 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsdf Ġ= ĠSimpleDateFormat (" H ", ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhour Ġ= Ġsdf . format ( date ). toInt () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġis Night Ġ= Ġhour Ġ< Ġ 6 Ġ|| Ġhour Ġ> Ġ 1 8 ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( is Night ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFore cast Common Mapper . night Condition To Icon ( condition ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFore cast Common Mapper . day Condition To Icon ( condition ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġday Condition To Icon ( condition : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( condition ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" clear - day ", Ġ" clear - night " Ġ-> Ġ" ic _ weather _ set _ 1 _ 3 6 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" rain " Ġ-> Ġ" ic _ weather _ set _ 1 _ 4 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" snow " Ġ-> Ġ" ic _ weather _ set _ 1 _ 4 3 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" s leet " Ġ-> Ġ" ic _ weather _ set _ 1 _ 4 2 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" wind " Ġ-> Ġ" ic _ weather _ set _ 1 _ 2 4 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" fog " Ġ-> Ġ" ic _ weather _ set _ 1 _ 1 9 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cloud y " Ġ-> Ġ" ic _ weather _ set _ 1 _ 2 6 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" part ly - cloud y - day ", Ġ" part ly - cloud y - night " Ġ-> Ġ" ic _ weather _ set _ 1 _ 3 4 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" h ail " Ġ-> Ġ" ic _ weather _ set _ 1 _ 1 8 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" th under storm " Ġ-> Ġ" ic _ weather _ set _ 1 _ 3 5 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t ornado " Ġ-> Ġ" ic _ weather _ set _ 1 _ 2 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" ic _ weather _ set _ 1 _ 3 2 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnight Condition To Icon ( condition : ĠString ?): ĠString Ġ= Ġwhen Ġ( condition ) Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġ" clear - day ", Ġ" clear - night " Ġ-> Ġ" ic _ weather _ set _ 1 _ 3 1 " ĊĠĠĠĠĠĠĠ Ġ" rain " Ġ-> Ġ" ic _ weather _ set _ 1 _ 4 5 " ĊĠĠĠĠĠĠĠ Ġ" snow " Ġ-> Ġ" ic _ weather _ set _ 1 _ 4 6 " ĊĠĠĠĠĠĠĠ Ġ" s leet " Ġ-> Ġ" ic _ weather _ set _ 1 _ 0 5 " ĊĠĠĠĠĠĠĠ Ġ" wind " Ġ-> Ġ" ic _ weather _ set _ 1 _ 2 4 " ĊĠĠĠĠĠĠĠ Ġ" fog " Ġ-> Ġ" ic _ weather _ set _ 1 _ 2 1 " ĊĠĠĠĠĠĠĠ Ġ" cloud y " Ġ-> Ġ" ic _ weather _ set _ 1 _ 2 7 " ĊĠĠĠĠĠĠĠ Ġ" part ly - cloud y - night ", Ġ" part ly - cloud y - day " Ġ-> Ġ" ic _ weather _ set _ 1 _ 3 4 " ĊĠĠĠĠĠĠĠ Ġ" h ail " Ġ-> Ġ" ic _ weather _ set _ 1 _ 1 8 " ĊĠĠĠĠĠĠĠ Ġ" th under storm " Ġ-> Ġ" ic _ weather _ set _ 1 _ 0 0 " ĊĠĠĠĠĠĠĠ Ġ" t ornado " Ġ-> Ġ" ic _ weather _ set _ 1 _ 2 0 " ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" ic _ weather _ set _ 1 _ 3 1 " ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtimestamp ToDate ( time Stamp : ĠLong ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( time Stamp Ġ* Ġ 1 0 0 0 L ) Ġ// Ġ* 1 0 0 0 Ġis Ġto Ġconvert Ġseconds Ġto Ġmilliseconds ĊĠĠĠĠĠĠĠ Ġ// val Ġsdf Ġ= ĠSimpleDateFormat (" E , ĠM MM Ġdd , Ġy yyy ", ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġval Ġsdf Ġ= ĠSimpleDateFormat (" E , ĠM MM Ġdd ", ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġsdf . format ( date ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtimestamp To Hour ( time Stamp : ĠLong ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( time Stamp Ġ* Ġ 1 0 0 0 L ) ĊĠĠĠĠĠĠĠ Ġval Ġsdf Ġ= ĠSimpleDateFormat (" HH : mm ", ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġsdf . format ( date ). toLowerCase () ĊĠĠĠ Ġ} Ċ Ċ }