package Ġcom . j ime . stu . ui . me Ċ Ċ import Ġandroid . text . TextUtils Ċ import Ġandroidx . databinding . Observable ArrayList Ċ import Ġandroidx . databinding . Observable Field Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . ale yn . mv vm . base . Base ViewModel Ċ import Ġcom . ale yn . mv vm . event . Message Ċ import Ġcom . blank j . util code . util . Log Utils Ċ import Ġcom . j ime . stu . BR Ċ import Ġcom . j ime . stu . bean . Me Info Ċ import Ġcom . j ime . stu . R Ċ import Ġcom . j ime . stu . network . entity . Used Web Ċ import Ġcom . j ime . stu . utils . Injector Util Ċ import Ġcom . j ime . stu . utils . Preference Ċ import Ġme . tat ark a . binding collection adapter 2 . Item Binding Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠĠ Ġ@ auth er Ġ: ĠAle yn Ċ Ġ* ĠĠ Ġtime ĠĠ Ġ: Ġ 2 0 1 9 / 1 1 / 1 4 Ċ Ġ*/ Ċ class ĠMe ViewModel Ġ: ĠBase ViewModel () Ġ{ ĊĠĠĠ Ġvar Ġname Ġ= ĠObservable Field < String >(" æľª çĻ»å½ķ ") ĊĠĠĠ Ġvar Ġq ian ming Ġ= ĠObservable Field < String >(" çĻ»å½ķ èİ·åıĸ æĽ´å¤ļ æľįåĬ¡ ") ĊĠĠĠ Ġvar Ġimage Default Ġ= ĠObservable Field < Int >( R . mip map . head _ default ) ĊĠĠĠ Ġvar ĠimageUrl Ġ= ĠObservable Field < String >(" ") ĊĠĠĠ Ġvar Ġis Login Ġ= ĠObservable Field < Boolean >( false )// æĺ¯åĲ¦ çĻ»å½ķ ĊĠĠĠ Ġvar Ġis _ member Ġ= ĠObservable Field < Boolean >( false )// æĺ¯åĲ¦ ä¼ļ åĳĺ ĊĠĠĠ Ġvar Ġv ip Date Ġ= ĠObservable Field < String >(" è§£ éĶģ ä½¿çĶ¨ æĽ´å¤ļ åĬŁèĥ½ ") ĊĠĠĠ Ġvar ĠuserName Ġby ĠPreference ( Preference . USER _ NAME , Ġ"") ĊĠĠĠ Ġvar Ġhead Img Ġby ĠPreference ( Preference . HEAD IMAGE , Ġ"") ĊĊĠĠĠ Ġprivate Ġvar Ġme Item OnClickListener Ġ= Ġobject Ġ: ĠOn ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Click ( item : ĠMe Info ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdef UI . msg Event . post Value ( Message ( 1 , Ġobj Ġ= Ġitem )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġvar Ġitems Ġ= ĠObservable ArrayList < Me Info >() ĊĠĠĠ Ġvar Ġitem Binding Ġ= ĠItem Binding . of < Me Info >( BR . me Bean , ĠR . layout . item _ me _ list ) ĊĠĠĠĠĠĠĠ Ġ. bind Extra ( BR . item _ me Listen ner , Ġme Item OnClickListener ) ĊĊĊĠĠĠ Ġprivate Ġval Ġhome Repository Ġby Ġlazy Ġ{ ĠInject or Util . get Home Repository () Ġ} ĊĊĠĠĠ Ġfun ĠgetItem List (){ ĊĠĠĠĠĠĠĠ Ġvar Ġtoken Ġby ĠPreference ( Preference . TOKEN , Ġ"") ĊĠĠĠĠĠĠĠ Ġif ( TextUtils . isEmpty ( token )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Login . set ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" æľª çĻ»å½ķ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġq ian ming . set (" çĻ»å½ķ èİ·åıĸ æĽ´å¤ļ æľįåĬ¡ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv ip Date . set (" è§£ éĶģ ä½¿çĶ¨ æĽ´å¤ļ åĬŁèĥ½ ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageUrl . set ("") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis _ member . set ( false ) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Login . set ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Only result ({ Ġhome Repository . my Info () },{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems . addAll ( it . dynamic List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" å·² çĻ»å½ķ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageUrl . set ( head Img ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġq ian ming . set ( userName ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis _ member . set ( it . member Status ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( it . member Status ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv ip Date . set ( it . expire Date Ġ+ Ġ" Ġ åĪ° æľŁ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv ip Date . set (" è§£ éĶģ ä½¿çĶ¨ æĽ´å¤ļ åĬŁèĥ½ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, is ShowDialog Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġpopular Web Ġ= ĠMutable LiveData < List < Used Web >>() ĊĊĠĠĠ Ġfun Ġget Pop ular Web () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Go ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġhome Repository . get Pop ular Web () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result . is Success ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopular Web . value Ġ= Ġresult . data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġupload File ( file : ĠFile ){ ĊĠĠĠĠĠĠĠ Ġlaunch Only result ({ Ġhome Repository . upload Head File ( file ) Ġ}, Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġdef UI . msg Event . post Value ( Message ( 1 , obj Ġ= Ġit )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhead Img Ġ= Ġit . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageUrl . set ( head Img ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave ( url : String , etype Int : Int , title : String , mode : String ){ ĊĠĠĠĠĠĠĠ Ġlaunch Only result ({ home Repository . save ( url , etype Int , title , mode )}, { ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Utils . e (" äºĭä»¶ ä¸Ĭ æĬ¥ æĪĲåĬŁ ï¼ļ url ="+ Ġurl Ġ+" etype Int ="+ Ġet ype Int Ġ+" title ="+ Ġtitle Ġ+" mode ="+ Ġmode ) ĊĠĠĠĠĠĠĠ Ġ},{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Utils . e (" äºĭä»¶ ä¸Ĭ æĬ¥ å¤±è´¥ ï¼ļ url ="+ Ġurl Ġ+" etype Int ="+ Ġet ype Int Ġ+" title ="+ Ġtitle Ġ+" mode ="+ Ġmode ) ĊĠĠĠĠĠĠĠ Ġ}, {}, false ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Item Click ( item : ĠMe Info ) ĊĠĠĠ Ġ} Ċ }