package Ġcom . effective . android . component . tab . mine . view Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġcom . effective . android . base . fragment . Base Vm Fragment Ċ import Ġcom . effective . android . base . toast . Toast Utils Ċ import Ġcom . effective . android . base . util . Display Utils Ċ import Ġcom . effective . android . base . util . Resource Utils Ċ import Ġcom . effective . android . base . view . dialog . Common Dialog Ċ import Ġcom . effective . android . component . tab . mine . R Ċ import Ġcom . effective . android . component . tab . mine . Sdk s Ċ import Ġcom . effective . android . component . tab . mine . vm . Mine ViewModel Ċ import Ġcom . effective . android . service . account . Account ChangeListener Ċ import Ġcom . effective . android . service . account . UserInfo Ċ import Ġcom . effective . android . service . skin . Skin Ċ import Ġcom . effective . android . service . skin . Skin ChangeListener Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġkotlinx . android . synt hetic . main . mine _ fragment _ main _ layout .* ĊĊ Ċ class ĠM ine Fragment Ġ: ĠBase Vm Fragment < Mine ViewModel >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar ĠuserInfo : ĠUserInfo ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġaccount Disposable : ĠDis posable ĊĠĠĠ Ġprivate Ġval Ġaccount ChangeListener Ġ= Ġobject Ġ: ĠAccount ChangeListener Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Account Change ( userInfo : ĠUserInfo ?, Ġlogin : ĠBoolean , Ġsuccess : ĠBoolean , Ġmessage : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Mine Fragment . userInfo Ġ= Ġif Ġ( login ) ĠuserInfo Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheckout Status () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show ( context !! , Ġmessage Ġ?: Ġ" æĵįä½ľ å¤±è´¥ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġvar Ġskin ChangeListener Ġ: ĠSk in ChangeListener ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġget ViewModel (): ĠClass < Mine ViewModel > Ġ= ĠM ine ViewModel :: class . java ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Res (): ĠInt Ġ= ĠR . layout . mine _ fragment _ main _ layout ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġinit Listener () ĊĠĠĠĠĠĠĠ Ġinit Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= ĠType face . createFrom Asset ( context ?. assets , Ġ" fonts / D IN - Con dense d - Bold - 2 . ttf ") ĊĠĠĠĠĠĠĠ Ġshare _ count . type face Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġcollect _ count . type face Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġinit Skin () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Skin (){ ĊĠĠĠĠĠĠĠ Ġif ( Sdk s . service Skin . isLoading Default Skin ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnight _ action . isSelected Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus View . set BackgroundColor ( Resource Utils . getColor ( context !! , R . color . color Primary )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Container . set BackgroundColor ( Resource Utils . getColor ( context !! , R . color . color Primary )) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnight _ action . isSelected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus View . set BackgroundColor ( Resource Utils . getColor ( context !! , R . color . block Background )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Container . set BackgroundColor ( Resource Utils . getColor ( context !! , R . color . block Background )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ ĠviewModel . remove Account ChangeListener ( account ChangeListener ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! account Disposable . is Disposed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Disposable . dispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠS dk s . service Skin . remove Skin ChangeListener ( skin ChangeListener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġavatar . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Login ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCommon Dialog . Builder ( it . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. content (" ç¡®è®¤ éĢĢåĩº çĻ»å½ķ åĲĹ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. left (" åıĸæ¶Ī ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. right (" ç¡®å®ļ ", ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . logout () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠviewModel . add Account ChangeListener ( account ChangeListener ) ĊĠĠĠĠĠĠĠ Ġnight _ mode . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġå¦Ĥæŀľ app æľī å¤ļ ç§į çļ ® èĤ ¤ ï¼Į åĪĻ éľĢè¦ģ Ġchange Skin ( skin : Ġcom . effective . android . service . skin . Skin ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( skin ChangeListener Ġ== Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġskin ChangeListener Ġ= Ġobject Ġ: ĠSk in ChangeListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Skin Change ( skin : ĠSk in , Ġsuccess : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( success ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnight _ action . isSelected Ġ= Ġ! Sdk s . service Skin . isLoading Default Skin () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit Skin () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS dk s . service Skin . add Skin ChangeListener ( skin ChangeListener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS dk s . service Skin . change Skin () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġprivate Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheckout Status () ĊĠĠĠĠĠĠĠ Ġaccount Disposable Ġ= ĠviewModel . get Login Account () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isValid ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserInfo Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheckout Status () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheckout Status () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheckout Status () Ġ{ ĊĠĠĠĠĠĠĠ Ġrefresh UserInfo () ĊĠĠĠĠĠĠĠ Ġrefresh Rank () ĊĠĠĠĠĠĠĠ Ġrefresh Share And Collection () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrefresh UserInfo () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhas Login Ġ= ĠuserInfo Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġavatar . isSelected Ġ= Ġhas Login ĊĠĠĠĠĠĠĠ Ġif Ġ( has Login ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä¸ªäºº ä¿¡æģ¯ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogin . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġavatar . setImage Resource ( R . drawable . mine _ ic _ login ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnick . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnick . text Ġ= ĠuserInfo !!. nickname ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä¸ªäºº ä¿¡æģ¯ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogin . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġavatar . setImage Resource ( R . drawable . mine _ ic _ logout ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnick . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogin . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . login ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġprivate Ġfun Ġrefresh Rank () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Login ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserInfo ?. rank Info . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrank _ title . text Ġ= ĠgetString ( R . string . mine _ rank ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrank _ hint . text Ġ= ĠgetString ( R . string . mine _ rank _ check ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ privilege _ level . text Ġ= Ġ" Lv .${ it ?. level . toString () }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpb _ privilege _ exp . set Privilege Progress ( it ?. coin Count ?. toInt () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrank _ title . text Ġ= ĠgetString ( R . string . mine _ rank _ logout ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrank _ hint . text Ġ= ĠgetString ( R . string . mine _ rank _ check _ logout ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ privilege _ level . text Ġ= Ġ" Lv . -- " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpb _ privilege _ exp . set Privilege Progress ( 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrefresh Share And Collection () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Login ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserInfo ?. action Info . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshare _ count . text Ġ= Ġit ?. share Count . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollect _ count . text Ġ= Ġit ?. collect Count . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshare _ count . text Ġ= Ġ"-- " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcollect _ count . text Ġ= Ġ"-- " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Login () Ġ= ĠuserInfo Ġ!= Ġnull Ċ }