package Ġcn . c ann ey . a app . demo . ui Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcn . c ann ey . a app . demo . App Utils Ċ import Ġcn . c ann ey . a app . demo . R Ċ import Ġcn . c ann ey . a app . demo . service . Codes Ċ import Ġcn . c ann ey . a app . demo . view model . App Update ViewModel Ċ import Ġcom . alibaba . fastjson . JSON Ċ import Ġcom . alibaba . fastjson . JSONObject Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġapp Update ViewModel : ĠApp Update ViewModel ĊĊĠĠĠ Ġprivate Ġval ĠLINE Ġ= Ġ"\ r \ n " ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ ĠViewModel Provider ( this ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Update ViewModel Ġ= Ġget ( App Update ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtv _ version . text Ġ= Ġ" å½ĵåīį çīĪæľ¬ : (${ App Utils . getVersion Code ( this )}) ${ App Utils . getVersion Name ( this )}" ĊĊĊĠĠĠĠĠĠĠ Ġapp Update ViewModel . last Version . observe ( this , ĠObserver Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ message . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCode s . LAST _ VERSION Ġ-> Ġtv _ message . append (" å½ĵåīį å·² æĺ¯ æľĢæĸ° çīĪæľ¬ $ LINE ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCode s . NET _ ERROR Ġ-> Ġtv _ message . append ("${ it . message }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCode s . SUCCESS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ message . append (" èİ·åıĸ åĪ° æľĢæĸ° çīĪæľ¬ :${ it . data ?. version Name }$ LINE ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ message . append (" çīĪæľ¬ ä¿¡æģ¯ :$ LINE ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprops Ġ= ĠJSON . toJSON ( it . data ) Ġas ĠJSONObject ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( value Ġin Ġprops ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ message . append ("${ value . key }: Ġ${ value . value }$ LINE ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġbtn _ update . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ message . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ message . append (" æŃ£åľ¨ èİ·åıĸ çīĪæľ¬ ... $ LINE ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Update ViewModel . check Version ( et _ host . text . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊ Ċ }