package Ġcom . y ifu . lad ian ba o . ui . login Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . method . Hide Returns Transformation Method Ċ import Ġandroid . text . method . Password Transformation Method Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . Toast Ċ import Ġcom . gy f . imm ersion bar . k tx . imm ersion Bar Ċ import Ġcom . y ifu . lad ian ba o . R Ċ import Ġcom . y ifu . lad ian ba o . base . Base Activity Ċ import Ġcom . y ifu . lad ian ba o . ui . MainActivity Ċ import Ġcom . y ifu . lad ian ba o . util . Login Utils Ċ // import Ġcom . y ifu . lake ba o . ui . mine . change pwd . Change Pwd Activity Ċ // import Ġcom . y ifu . lake ba o . ui . shop enter . shop login . Shop Login Activity Ċ import Ġcom . y ifu . lad ian ba o . util . util code . Toast Utils Ċ import Ġkotlinx . android . synt hetic . main . activity _ login .* Ċ import Ġjava . lang . reflect . Method Ċ Ċ class ĠLogin Activity Ġ: ĠBase Activity < Login Contract . Presenter >(), ĠLogin Contract . View Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Index Success ( bean : ĠUser Bean ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠLogin Utils . save Token ( bean . token !! ) ĊĠĠĠĠĠĠĠ ĠLogin Utils . save UserInfo ( bean ) ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( mContext , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Index Fail ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Toast ( msg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetContext (): ĠContext Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠmContext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Empty () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġlayout Res : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠR . layout . activity _ login ĊĊĠĠĠ Ġoverride Ġfun Ġinit Logic () Ġ{ ĊĠĠĠĠĠĠĠ Ġimm ersion Bar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åıª éĢĤ åĲĪ çº ¯ èī² çĬ¶æĢģ æłı ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfits System Windows ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Bar Color ( R . color . color _ first ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Bar Dark Font ( false , Ġ 0 . 2 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkeyboard Enable ( true ) Ġ Ġ// è§£åĨ³ è½¯ éĶ® çĽĺ ä¸İ åºķ éĥ¨ è¾ĵåħ¥ æ¡Ĩ åĨ² çªģ éĹ®é¢ĺ ï¼Į é»ĺè®¤ä¸º false ï¼Į è¿ĺ æľīä¸Ģä¸ª éĩį è½½ æĸ¹æ³ķ ï¼Į åı¯ä»¥ æĮĩå®ļ è½¯ éĶ® çĽĺ mode ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkeyboard Mode ( WindowManager . LayoutParams . SOFT _ INPUT _ ADJ UST _ RE SIZE ) Ġ Ġ// åįķ çĭ¬ æĮĩå®ļ è½¯ éĶ® çĽĺ æ¨¡å¼ı ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Listener () Ġ{ ĊĠĠĠĠĠĠ Ġshow _ hide _ password . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pwd Is Show ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¦Ĥæŀľ éĢī ä¸Ń ï¼Į æĺ¾ç¤º å¯Ĩçłģ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpwd Is Show Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ pwd . transformation Method Ġ= ĠHide Returns Transformation Method . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow _ hide _ password . setBackground Resource ( R . mip map . show ) ĊĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĲ¦åĪĻ éļĲèĹı å¯Ĩçłģ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpwd Is Show Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ pwd . transformation Method Ġ= ĠPassword Transformation Method . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow _ hide _ password . setBackground Resource ( R . mip map . un show 2 ) ĊĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtv _ login . setOnClickListener Ġ{ ĊĊ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( et _ mobile . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show Short ( et _ mobile . hint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( et _ pwd . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show Short ( et _ pwd . hint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . login ( et _ mobile . text . toString (), Ġet _ pwd . text . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Logic () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Login Utils . is Login ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( mContext , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Login Success ( bean : ĠUser Bean ) Ġ{ ĊĊĠĠĠĠĠĠ Ġon Index Success ( bean ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Login Fail ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠ Ġshow Toast ( msg ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġval Ġm Presenter : ĠLogin Contract . Presenter ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠLogin Presenter (). also Ġ{ Ġit . attach View ( this ) Ġ} ĊĊĠĠĠ Ġvar Ġpwd Is Show Ġ= Ġfalse ĊĊĠĠĠ Ġfun Ġdisable Show Input ( et : ĠEditText ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcls Ġ= ĠEditText :: class . java ĊĠĠĠĠĠĠĠ Ġval Ġmethod : ĠMethod ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod Ġ= Ġcls . getMethod (" set Show Soft Input On Focus ", ĠBoolean :: class . java Primitive Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . invoke ( et , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{// TODO : Ġhandle Ġexception ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ