package Ġcom . xia ox in . library . base Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . Window Ċ import Ġcom . blank j . util code . util . Adapt Screen Utils Ċ Ċ import Ġcom . trello . rx lifecycle 3 . components . support . Rx AppCompatActivity Ċ import Ġcom . xia ox in . library . util . Activity Manager Ċ Ċ /** Ċ Ġ* Ġ@ author : Ġx ia ox in Ċ Ġ* Ġdate : Ġ 2 0 1 8 / 1 0 / 3 0 Ċ Ġ* Ġdescribe : Ġ åŁºç¡Ģ Ġactivity Ċ Ġ* Ġä¿®æĶ¹ åĨħå®¹ : Ċ Ġ*/ Ċ abstract Ġclass ĠBase Activity Ġ: ĠRx AppCompatActivity (), ĠI Base View Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġm ContentView : ĠView ĊĠĠĠ Ġlateinit Ġvar Ġm Activity : ĠActivity ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġä¸Ĭ æ¬¡ çĤ¹åĩ» æĹ¶éĹ´ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġlast Click : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪ¤æĸŃ æĺ¯åĲ¦ å¿«éĢŁ çĤ¹åĩ» ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġ` true `: Ġæĺ¯ < br ></ br >` false `: Ġ åĲ¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġis Fast Click : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( now Ġ- Ġlast Click Ġ>= Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Click Ġ= Ġnow ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġm Activity Ġ= Ġthis ĊĠĠĠĠĠĠĠ ĠActivity Manager . instance . add Activity ( this ) Ċ // ĠĠĠĠĠĠĠ Ġthis . window Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. decor View . system Ui Visibility Ġ= ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ STATUS _ BAR Ċ // ĠĠĠĠĠĠĠ ĠMI UI Set StatusBar Light Mode ( this . window , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= Ġintent . extras ĊĠĠĠĠĠĠĠ Ġinit Data ( bundle ) ĊĠĠĠĠĠĠĠ Ġset Root Layout ( bind Layout ()) ĊĠĠĠĠĠĠĠ Ġinit View ( savedInstanceState , Ġm ContentView ) ĊĠĠĠĠĠĠĠ Ġdo Business () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" ResourceType ") ĊĠĠĠ Ġoverride Ġfun Ġset Root Layout (@ Layout Res Ġlayout Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( layout Id Ġ<= Ġ 0 ) Ġreturn ĊĠĠĠĠĠĠĠ Ġm ContentView Ġ= ĠLayoutInflater . from ( this ). inflate ( layout Id , Ġnull ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( m ContentView ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Fast Click ) Ġon Widget Click ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è§ĨåĽ¾ çĤ¹åĩ» äºĭä»¶ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġview Ġ è§ĨåĽ¾ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Widget Click ( view : ĠView ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun ĠMI UI Set StatusBar Light Mode ( window : ĠWindow ?, Ġdark : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( window Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclazz Ġ= Ġwindow . java Class ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdark Mode Flag : Int ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout Params Ġ= ĠClass . forName (" android . view . Mi ui WindowManager \$ LayoutParams ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfield Ġ= Ġlayout Params . getField (" EXTRA _ FLAG _ STATUS _ BAR _ DARK _ MODE ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdark Mode Flag Ġ= Ġfield . getInt ( layout Params ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextra Flag Field Ġ= Ġclazz . getMethod (" set Extra Flags ", ĠInt :: class . java Primitive Type , ĠInt :: class . java Primitive Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dark ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Flag Field . invoke ( window , Ġdark Mode Flag , Ġdark Mode Flag )// çĬ¶æĢģ æłı éĢı æĺİ ä¸Ķ é»ĳ èī² åŃĹ ä½ĵ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Flag Field . invoke ( window , Ġ 0 , Ġdark Mode Flag )// æ¸ħ éĻ¤ é»ĳ èī² åŃĹ ä½ĵ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġä»¥ å®½ 1 0 8 0 Ġ éĢĤ éħį ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Resources (): ĠResources Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠAdapt Screen Utils . adapt Width ( super . getResources (), Ġ 1 0 8 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ ĠActivity Manager . instance . remove Activity ( this ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ