package Ġcom . id orm y . sms . for warder . core Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroidx . view binding . View Binding Ċ import Ġcom . xu ex iang . x page . base . X Page Activity Ċ import Ġcom . xu ex iang . x page . base . X Page Fragment Ċ import Ġcom . xu ex iang . x page . core . Core Switch Bean Ċ import Ġcom . xu ex iang . x router . facade . service . Serialization Service Ċ import Ġcom . xu ex iang . x router . launcher . X Router Ċ import Ġcom . xu ex iang . x ui . utils . Res Utils Ċ import Ġcom . xu ex iang . x ui . widget . slide back . Slide Back Ċ import Ġio . github . in fl ation x . view pump . View Pump Context Wrapper Ċ Ċ /** Ċ Ġ* Ġ åŁºç¡Ģ å®¹åĻ¨ Activity Ċ Ġ* Ċ Ġ* Ġ@ author ĠX UE Ċ Ġ* Ġ@ since Ġ 2 0 1 9 / 3 / 2 2 Ġ 1 1 : 2 1 Ċ Ġ*/ Ċ @ Suppress (" Member Visibility Can Be Private ", Ġ" UN CHECK ED _ CAST ") Ċ open Ġclass ĠBase Activity < Binding Ġ: ĠView Binding ?> Ġ: ĠX Page Activity () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ Binding ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠBinding ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠView Binding ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġbinding : ĠBinding ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprotected Ġset ĊĊĠĠĠ Ġoverride Ġfun Ġattach Base Context ( new Base : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// æ³¨ åħ¥ åŃĹ ä½ĵ ĊĠĠĠĠĠĠĠ Ġsuper . attach Base Context ( View Pump Context Wrapper . wrap ( new Base )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Custom Root View (): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= Ġview Binding Inf late ( layout Inflater ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( binding Ġ!= Ġnull ) Ġbinding !!. root Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit StatusBar Style () ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġregister Slide Back () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æŀĦå»º View Binding ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġinflater Ġ Ġinflater ĊĠĠĠĠ Ġ* Ġ@ return ĠView Binding ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġopen Ġfun Ġview Binding Inf late ( in flater : ĠLayoutInflater ?): ĠBinding ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ çĬ¶æĢģ æłı çļĦ æł·å¼ı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġopen Ġfun Ġinit StatusBar Style () Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æīĵå¼Ģ fragment ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġclazz ĠĠĠĠĠĠĠĠĠ Ġ é¡µéĿ¢ ç±» ĊĠĠĠĠ Ġ* Ġ@ param ĠaddTo Back Stack Ġæĺ¯åĲ¦ æ·»åĬł åĪ° æłĪ ä¸Ń ĊĠĠĠĠ Ġ* Ġ@ return Ġ æīĵå¼Ģ çļĦ fragment å¯¹è±¡ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T Ġ: ĠX Page Fragment ?> Ġopen Page ( clazz : ĠClass < T > ?, ĠaddTo Back Stack : ĠBoolean ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpage Ġ= ĠCore Switch Bean ( clazz ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set AddTo Back Stack ( addTo Back Stack ) ĊĠĠĠĠĠĠĠ Ġreturn Ġopen Page ( page ) Ġas ĠT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æīĵå¼Ģ fragment ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġ æīĵå¼Ģ çļĦ fragment å¯¹è±¡ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T Ġ: ĠX Page Fragment ?> Ġopen New Page ( clazz : ĠClass < T >? ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpage Ġ= ĠCore Switch Bean ( clazz ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set New Activity ( true ) ĊĠĠĠĠĠĠĠ Ġreturn Ġopen Page ( page ) Ġas ĠT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĪĩæį¢ fragment ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġclazz Ġ é¡µéĿ¢ ç±» ĊĠĠĠĠ Ġ* Ġ@ return Ġ æīĵå¼Ģ çļĦ fragment å¯¹è±¡ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T Ġ: ĠX Page Fragment ?> Ġswitch Page ( clazz : ĠClass < T >? ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġopen Page ( clazz , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åºıåĪĹåĮĸ å¯¹è±¡ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġobject ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġserialize Object (` object `: ĠAny ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠX Router . getInstance (). navigation ( Serialization Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. object 2 Json (` object `) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Release () Ġ{ ĊĠĠĠĠĠĠĠ Ġunregister Slide Back () ĊĠĠĠĠĠĠĠ Ġsuper . on Release () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æ³¨åĨĮ ä¾§ æ»ĳ åĽŀè°ĥ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġregister Slide Back () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Support Slide Back ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSlide Back . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. have Scroll ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. edge Mode ( if Ġ( Res Utils . is R tl ()) ĠSlide Back . EDGE _ RIGHT Ġelse ĠSlide Back . EDGE _ LEFT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. call Back Ġ{ Ġpop Page () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. register () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æ³¨ éĶĢ ä¾§ æ»ĳ åĽŀè°ĥ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġunregister Slide Back () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Support Slide Back ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSlide Back . unregister ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ return Ġæĺ¯åĲ¦ æĶ¯æĮģ ä¾§ æ»ĳ è¿ĶåĽŀ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġopen Ġval Ġis Support Slide Back : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpage : ĠCore Switch Bean ? Ġ= Ġintent . get Parcelable Extra ( Core Switch Bean . KEY _ SWITCH _ BE AN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpage Ġ== Ġnull Ġ|| Ġpage . bundle Ġ== Ġnull Ġ|| Ġpage . bundle . getBoolean ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKEY _ SUPPORT _ SL IDE _ BACK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġæĺ¯åĲ¦ æĶ¯æĮģ ä¾§ æ»ĳ è¿ĶåĽŀ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ SUPPORT _ SL IDE _ BACK Ġ= Ġ" key _ support _ slide _ back " ĊĠĠĠ Ġ} Ċ }