package Ġcom . mg . ax ech en . wan android . theme Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Activity Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . widget . Toolbar Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġcom . b ilib ili . magic as ak ura . utils . Theme Utils Ċ import Ġcom . mg . ax ech en . wan android . R Ċ import Ġcom . mg . ax ech en . wan android . base . Base Activity Ċ import Ġkotlinx . android . synt hetic . main . activity _ change _ theme .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠA xe Ch en Ġon Ġ 2 0 1 8 / 3 / 2 1 . Ċ Ġ* Ġ ä¸»é¢ĺ åĪĩæį¢ Ċ Ġ*/ Ċ class ĠChange Theme Activity Ġ: ĠBase Activity (), ĠView . OnClickListener Ġ{ ĊĊĠĠĠ Ġvar Ġtoolbar : ĠToolbar ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠmCurrent Theme : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġlaunch ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( Intent ( context , ĠChange Theme Activity :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Layout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . activity _ change _ theme ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit ToolBar () ĊĠĠĠĠĠĠĠ Ġinit ClickListener () ĊĠĠĠĠĠĠĠ Ġset Radio Check ( Theme Helper . get Theme ( this )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ToolBar () Ġ{ ĊĠĠĠĠĠĠĠ Ġtoolbar Ġ= ĠfindViewById ( R . id . toolbar ) ĊĠĠĠĠĠĠĠ Ġtoolbar . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" ä¿®æĶ¹ ä¸»é¢ĺ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item ?. itemId Ġ== Ġandroid . R . id . home ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ClickListener () Ġ{ ĊĠĠĠĠĠĠĠ Ġfl Wan . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġfl Pur ple . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġfl Blue . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġfl Green . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġfl P ink . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġfl Black . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġfl Orange . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġfl Red . setOnClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( v ?. id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fl Wan Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Theme Ġ= ĠTheme Helper . CARD _ W AN ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fl Pur ple Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Theme Ġ= ĠTheme Helper . CARD _ HO PE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fl Blue Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Theme Ġ= ĠTheme Helper . CARD _ ST ORM ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fl Green Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Theme Ġ= ĠTheme Helper . CARD _ WO OD ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fl P ink Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Theme Ġ= ĠTheme Helper . CARD _ PIN K ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fl Black Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Theme Ġ= ĠTheme Helper . CARD _ TH UNDER ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fl Orange Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Theme Ġ= ĠTheme Helper . CARD _ S AND ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fl Red Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Theme Ġ= ĠTheme Helper . CARD _ FIRE Y ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġchange Theme ( m Current Theme ) ĊĠĠĠĠĠĠĠ Ġset Radio Check ( m Current Theme ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Radio Check ( theme : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( theme Ġ== ĠTheme Helper . CARD _ W AN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Wan . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Wan . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( theme Ġ== ĠTheme Helper . CARD _ HO PE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Pur ple . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Pur ple . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( theme Ġ== ĠTheme Helper . CARD _ ST ORM ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Blue . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Blue . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( theme Ġ== ĠTheme Helper . CARD _ WO OD ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Green . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Green . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( theme Ġ== ĠTheme Helper . CARD _ PIN K ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb P ink . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb P ink . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( theme Ġ== ĠTheme Helper . CARD _ TH UNDER ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Black . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Black . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( theme Ġ== ĠTheme Helper . CARD _ S AND ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Orange . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Orange . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( theme Ġ== ĠTheme Helper . CARD _ FIRE Y ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Red . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrb Red . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġchange Theme ( current Theme : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Theme Helper . get Theme ( this ) Ġ!== Ġcurrent Theme ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTheme Helper . set Theme ( this , Ġcurrent Theme ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTheme Utils . refresh UI ( this , Ġobject Ġ: ĠTheme Utils . Extra Refresh able Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrefresh Global ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// for Ġglobal Ġsetting , Ġjust Ġdo Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= Ġ 2 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtask Description Ġ= ĠActivity Manager . Task Description ( null , Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTheme Utils . get Theme Attr Color ( this @ Change Theme Activity , Ġandroid . R . attr . color Primary )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Task Description ( task Description ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . status Bar Color Ġ= ĠTheme Utils . getColor ById ( this @ Change Theme Activity , ĠR . color . theme _ color _ primary _ dark ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrefresh Specific View ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO : Ġwill Ġdo Ġthis Ġfor Ġeach Ġtraversal ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }