package Ġcom . sh enh ua . weather Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . view . Gravity Compat Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . google . gson . Gson Ċ import Ġkotlinx . android . synt hetic . main . activity _ weather .* Ċ import Ġkotlinx . android . synt hetic . main . include _ a qi .* Ċ import Ġkotlinx . android . synt hetic . main . include _ forecast .* Ċ import Ġkotlinx . android . synt hetic . main . include _ now .* Ċ import Ġkotlinx . android . synt hetic . main . include _ suggestion .* Ċ import Ġkotlinx . android . synt hetic . main . include _ title .* Ċ import Ġorg . jetbrains . ank o . custom . async Ċ import Ġorg . jetbrains . ank o . default SharedPreferences Ċ import Ġorg . jetbrains . ank o . do Async Ċ import Ġorg . jetbrains . ank o . find Ċ import Ġorg . jetbrains . ank o . ui Thread Ċ import Ġjava . net . URL Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġsh enh ua Ġon Ġ 2 0 1 8 - 0 3 - 2 2 - 0 0 2 2 . Ċ Ġ* Ġ@ author Ġsh enh ua Ċ Ġ* ĠĠĠĠĠĠĠĠ ĠEmail Ġsh en hu an et @ 1 2 6 . com Ċ Ġ*/ Ċ class ĠWeather Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= Ġ 2 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv Ġ= Ġwindow . decor View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . system Ui Visibility Ġ= ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ FULL SCREEN Ġor ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ ST ABLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . status Bar Color Ġ= ĠColor . TRANSP ARENT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ weather ) ĊĠĠĠĠĠĠĠ Ġload B ing Img () ĊĠĠĠĠĠĠĠ Ġnav _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer _ layout . open Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġweather Id Ġ= Ġdefault SharedPreferences . getString (" weather _ id ", Ġ"") ĊĠĠĠĠĠĠĠ Ġweather _ layout . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġrequest Weather ( weather Id ) ĊĠĠĠĠĠĠĠ Ġswipe _ refresh . setOn Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Weather ( default SharedPreferences . getString (" weather _ id ", Ġ"")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload B ing Img () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠConstant . PIC ĊĠĠĠĠĠĠĠ Ġasync Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠURL ( url ). read Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this @ Weather Activity ). load ( s ). into ( bing _ pic _ img ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrequest Weather ( wid : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ"${ Constant . WE ATHER }? city id =${ wid }& key =${ Constant . KEY }" ĊĠĠĠĠĠĠĠ Ġdo Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠURL ( url ). read Text () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġweather Ġ= ĠGson (). fromJson ( s , ĠWeather :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswipe _ refresh . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Weather Info ( weather . He Weather [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Weather Info ( w : ĠHe Weather ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( w . status Ġ== Ġ" unknown Ġcity ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtitle _ city . text Ġ= Ġw . basic . city ĊĠĠĠĠĠĠĠ Ġtitle _ update _ time . text Ġ= Ġw . basic . update . loc ĊĠĠĠĠĠĠĠ Ġdegree _ text . text Ġ= Ġ"${ w . now . tmp } ĠâĦ ĥ " ĊĠĠĠĠĠĠĠ Ġweather _ info _ text !!. text Ġ= Ġ"${ w . now . cond . txt } ĠĠĠĠ Ġ${ w . now . wind _ dir } Ġ Ġ${ w . now . wind _ sc } çº§ " ĊĠĠĠĠĠĠĠ Ġforecast _ layout !!. removeAll Views () ĊĠĠĠĠĠĠĠ Ġfor Ġ( d Ġin Ġw . daily _ forecast ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠLayoutInflater . from ( this ). inflate ( R . layout . item _ forecast , Ġforecast _ layout , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Text Ġ= Ġv . find < TextView >( R . id . date _ text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinfo Text Ġ= Ġv . find < TextView >( R . id . info _ text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Text Ġ= Ġv . find < TextView >( R . id . max _ text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Text Ġ= Ġv . find < TextView >( R . id . min _ text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Text . text Ġ= Ġd . date ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Text . text Ġ= Ġd . tmp . max ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Text . text Ġ= Ġd . tmp . min ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( d . cond . code _ d Ġ== Ġd . cond . code _ n ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Text . text Ġ= Ġd . cond . txt _ d ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Text . text Ġ= Ġd . cond . txt _ d Ġ+ Ġ" ->" Ġ+ Ġd . cond . txt _ n ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġforecast _ layout !!. addView ( v ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġa qi _ text !!. text Ġ= Ġw . a qi . city . a qi ĊĠĠĠĠĠĠĠ Ġpm 2 5 _ text !!. text Ġ= Ġw . a qi . city . pm 2 5 ĊĠĠĠĠĠĠĠ Ġcomfort _ text !!. text Ġ= Ġ" èĪ Ĵ éĢĤ åº¦ ï¼ļ ${ w . suggestion . com f . txt }" ĊĠĠĠĠĠĠĠ Ġcar _ w ash _ text !!. text Ġ= Ġ" æ´ Ĺ è½¦ æĮĩ æķ° ï¼ļ ${ w . suggestion . cw . txt }" ĊĠĠĠĠĠĠĠ Ġs port _ text !!. text Ġ= Ġ" è¿Ĳ åĬ¨ å»ºè®® ï¼ļ ${ w . suggestion . sport . txt }" ĊĠĠĠĠĠĠĠ Ġweather _ layout !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} Ċ }