package Ġcn . six lab . app . mine apps . activity Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . View Ċ import Ġcn . six lab . app . mine apps . R Ċ import Ġcn . six lab . app . mine apps . util . Http Util Ċ import Ġcn . six lab . app . mine apps . util . Toast Msg Ċ import Ġkotlinx . android . synt hetic . main . activity _ show _ info .* Ċ import Ġkotlinx . android . synt hetic . main . content _ show _ info .* Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . HashMap Ċ Ċ class ĠShow Info Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġvar Ġsearch Text Ġ= Ġ"" ĊĠĠĠ Ġvar Ġdb List : ĠArrayList < Map < Any , ĠAny >> ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġold Info : Map < Any , ĠAny >? Ġ= Ġnull ĊĠĠĠ Ġvar Ġalert Dialog : ĠAlertDialog ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġdb Key : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ show _ info ) ĊĊĠĠĠĠĠĠĠ Ġval Ġextra Ġ= Ġintent . getString Extra (" show Info ") ĊĠĠĠĠĠĠĠ Ġif ( null == extra ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . setTitle ( R . string . apps _ show _ add ) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . setTitle ( R . string . apps _ show _ add ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ å¾ħ å®ŀçİ° ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Info Ġ= ĠHashMap () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġfab . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Db () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinit Input ( null ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsearch Db (){ ĊĠĠĠĠĠĠĠ Ġval Ġshow Name Ġ= Ġtext _ show _ name . text ĊĊĠĠĠĠĠĠĠ Ġif ( show Name . toString () Ġ== Ġsearch Text ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Choice () ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġroute Ġ= ĠHttp Util . build Db Route () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcall Ġ= Ġroute . query Movie ( show Name ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . enqueue ( object Ġ: ĠCallback < Map < Any , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Map < Any , ĠAny >> ?, Ġresponse : ĠResponse < Map < Any , ĠAny >> ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġresponse !!. body () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb List Ġ= Ġbody !! [" subjects "] Ġas ĠArrayList < Map < Any , ĠAny >> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Text Ġ= Ġshow Name . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Choice () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Map < Any , ĠAny >> ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Msg . show ( this @ Show Info Activity , t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Choice (){ ĊĠĠĠĠĠĠĠ Ġif ( null Ġ!= Ġdb List ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġarr Ġ= ĠarrayOf Null s < String >( db List !!. size ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb List !!. forEach Indexed Ġ{ Ġindex , Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġpub dates Ġ= Ġitem [" pub dates "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġyear Ġ= Ġitem [" year "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtitle Ġ= Ġitem [" title "] Ġas ĠString ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( year != null ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" [$ year ] Ġ$ title " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( pub dates != null ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ"$ title Ġ$ pub dates " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarr [ index ] Ġ= Ġtitle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġalert Dialog Ġ= ĠAlertDialog . Builder ( this @ Show Info Activity ). setTitle (" éĢīæĭ© çĶµ è§Ĩ åī § ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Single Choice Items ( arr , Ġ 0 ) Ġ{ Ġ_, Ġwhich Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġdb List ! ![ which ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( null Ġ!= Ġitem Ġ&& Ġnull Ġ!= Ġitem [" id "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchoose ( item [" id "] Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . close ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( R . string . c anc le ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġchoose ( subject Id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroute Ġ= ĠHttp Util . build Db Route () ĊĠĠĠĠĠĠĠ Ġval Ġcall Ġ= Ġroute . select Movie ( subject Id ) ĊĊĠĠĠĠĠĠĠ Ġcall . enqueue ( object Ġ: ĠCallback < Map < Any , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Map < Any , ĠAny >> ?, Ġresponse : ĠResponse < Map < Any , ĠAny >> ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġresponse !!. body () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( null != body ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ show _ name . setText ( body !! [" title "] Ġas ĠString ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġremark Ġ= Ġtext _ remark . text . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( null != body [" original _ title "]) { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremark Ġ+= Ġ( Ġ"< åİŁ åĲį > ï¼ļ" Ġ+ Ġbody [" original _ title "] Ġas ĠString Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( null != body [" aka "]) { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremark Ġ+= Ġ( Ġ"< åĪ« åĲį > :" Ġ+ Ġ( body [" aka "] Ġas ĠList < String >). join ToString (" ãĢģ ") Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( null != body [" countries "]) { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremark Ġ+= Ġ( Ġ"< åĽ½å®¶ > :" Ġ+ Ġ( body [" countries "] Ġas ĠList < String >). join ToString (" ãĢģ ") Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ remark . setText ( remark ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb Key Ġ= Ġsubject Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( alert Dialog != null ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalert Dialog !!. hide () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Map < Any , ĠAny >> ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Msg . show ( this @ Show Info Activity , t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinit Input ( v : ĠView ? ){ ĊĠĠĠĠĠĠĠ Ġvar Ġshow Name Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġshow Season Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġvar Ġshow Episode Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġvar Ġshow Remark Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġvar Ġdate Ġ= ĠDate () ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= ĠSimpleDateFormat (" yyyy - MM - dd "). format ( date ) ĊĊĠĠĠĠĠĠĠ Ġtext _ show _ name . setText ( show Name ) ĊĠĠĠĠĠĠĠ Ġtext _ show _ season . setText ( show Season . toString ()) ĊĠĠĠĠĠĠĠ Ġtext _ show _ episode . setText ( show Episode . toString ()) ĊĠĠĠĠĠĠĠ Ġtext _ remark . setText ( show Remark ) ĊĠĠĠĠĠĠĠ Ġtext _ begin _ date . setText ( text ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsubmit Show ( v : ĠView ? ){ ĊĠĠĠĠĠĠĠ Ġval Ġmap : HashMap < String , ĠAny > Ġ= ĠHashMap () ĊĊĠĠĠĠĠĠĠ Ġval Ġshow Name Ġ= Ġtext _ show _ name . text ĊĠĠĠĠĠĠĠ Ġif ( TextUtils . isEmpty ( show Name )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ show _ name . error Ġ= ĠgetString ( R . string . error _ field _ required ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ show _ name . request Focus () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmap . put (" show Name ", Ġshow Name . toString ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġshow Season Ġ= Ġtext _ show _ season . text ĊĠĠĠĠĠĠĠ Ġif (! TextUtils . isEmpty ( show Season )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . put (" show Season ", Ġshow Season . toString (). toInt ()) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . put (" show Season ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġshow Episode Ġ= Ġtext _ show _ episode . text ĊĠĠĠĠĠĠĠ Ġif (! TextUtils . isEmpty ( show Episode )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . put (" show Episode ", Ġshow Episode . toString (). toInt ()) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . put (" show Episode ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbegin Date Ġ= Ġtext _ begin _ date . text ĊĠĠĠĠĠĠĠ Ġif ( TextUtils . isEmpty ( begin Date )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ begin _ date . error Ġ= ĠgetString ( R . string . error _ field _ required ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ begin _ date . request Focus () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsdf Ġ= ĠSimpleDateFormat (" yyyy - MM - dd ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . put (" begin Date ", Ġsdf . parse ( begin Date . toString ())) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġremark Ġ= Ġtext _ remark . text ĊĠĠĠĠĠĠĠ Ġif (! TextUtils . isEmpty ( remark )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . put (" remark ", Ġremark . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif ( null != db Key ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . put (" doub an Key ", Ġdb Key !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠHttp Util . build Data ( map ) ĊĊĠĠĠĠĠĠĠ Ġval Ġroute Ġ= ĠHttp Util . build Route ( this ) ĊĠĠĠĠĠĠĠ Ġvar Ġcall : ĠCall < Map < Any , ĠAny >> ĊĊĠĠĠĠĠĠĠ Ġcall Ġ= Ġroute . add Show ( body ) ĊĊĠĠĠĠĠĠĠ Ġcall . enqueue ( object Ġ: ĠCallback < Map < Any , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Map < Any , ĠAny >> ?, Ġresponse : ĠResponse < Map < Any , ĠAny >> ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubmit Success ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Map < Any , ĠAny >> ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Msg . show ( this @ Show Info Activity , t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsubmit Success ( response : ĠResponse < Map < Any , ĠAny >> ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast Msg . show ( this @ Show Info Activity ," æĵįä½ľ æĪĲåĬŁ ") ĊĊĠĠĠĠĠĠĠ Ġif ( null == old Info ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠShow Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ } Ċ