package Ġz lc . season . br acer Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . util . Log Ċ import Ġcom . google . gson . Gson Ċ Ċ /** Ċ Ġ* ĠGet Ġparameters Ġquickly Ġfrom ĠActivity 's ĠIntent Ċ Ġ* Ċ Ġ* ĠUsage : Ċ Ġ* Ċ Ġ* Ġclass ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ Ċ Ġ* ĠĠĠĠĠ Ġval Ġbyte Params Ġby Ġparams < Byte >() Ċ Ġ* Ġ} Ċ Ġ* Ċ Ġ*/ Ċ fun Ġ< T > ĠActivity . params ( custom Key : ĠString Ġ= Ġ"", ĠdefaultValue : ĠT ? Ġ= Ġnull ) Ġ= ĊĠĠĠ ĠActivity Params Delegate ( custom Key , ĠdefaultValue ) Ċ Ċ /** Ċ Ġ* ĠGet Ġparameters Ġquickly Ġfrom ĠFragment 's ĠArgument Ċ Ġ* Ċ Ġ* ĠUsage : Ċ Ġ* Ċ Ġ* Ġclass ĠTest Fragment Ġ: ĠFragment () Ġ{ Ċ Ġ* ĠĠĠĠĠ Ġval Ġbyte Params Ġby Ġparams < Byte >() Ċ Ġ* Ġ} Ċ Ġ* Ċ Ġ*/ Ċ fun Ġ< T > ĠFragment . params ( custom Key : ĠString Ġ= Ġ"", ĠdefaultValue : ĠT ? Ġ= Ġnull ) Ġ= ĊĠĠĠ ĠFragment Params Delegate ( custom Key , ĠdefaultValue ) Ċ Ċ /** Ċ Ġ* ĠPass Ġparameter Ġto ĠActivity Ġquickly Ġand Ċ Ġ* Ġget Ġparameters Ġquickly Ġfrom ĠActivity 's ĠIntent Ċ Ġ* Ċ Ġ* ĠUsage : Ċ Ġ* Ċ Ġ* Ġclass ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ Ċ Ġ* ĠĠĠĠĠ Ġvar Ġbyte Params Ġby Ġparams < Byte >() Ċ Ġ* Ġ} Ċ Ġ* Ċ Ġ* ĠPass Ġvalue : Ċ Ġ* Ċ Ġ* ĠMainActivity (). apply Ġ{ Ċ Ġ* ĠĠĠĠĠ Ġbyte Params Ġ= Ġ 1 Ċ Ġ* Ġ}. start ( context ) Ċ Ġ* Ċ Ġ*/ Ċ fun Ġ< T > ĠActivity . mutable Params ( custom Key : ĠString Ġ= Ġ"", ĠdefaultValue : ĠT ? Ġ= Ġnull ) Ġ= ĊĠĠĠ ĠActivity Mutable Params Delegate ( custom Key , ĠdefaultValue ) Ċ Ċ /** Ċ Ġ* ĠPass Ġparameter Ġto ĠFragment Ġquickly Ġand Ċ Ġ* Ġget Ġparameters Ġquickly Ġfrom ĠFragment 's ĠArgument Ċ Ġ* Ċ Ġ* ĠUsage : Ċ Ġ* Ċ Ġ* Ġclass ĠTest Fragment Ġ: ĠFragment () Ġ{ Ċ Ġ* ĠĠĠĠĠ Ġvar Ġbyte Params Ġby Ġparams < Byte >() Ċ Ġ* Ġ} Ċ Ġ* Ċ Ġ* ĠPass Ġvalue : Ċ Ġ* Ċ Ġ* ĠTest Fragment (). apply Ġ{ Ċ Ġ* ĠĠĠĠĠ Ġbyte Params Ġ= Ġ 1 Ċ Ġ* Ġ} Ċ Ġ* Ċ Ġ*/ Ċ fun Ġ< T > ĠFragment . mutable Params ( custom Key : ĠString Ġ= Ġ"", ĠdefaultValue : ĠT ? Ġ= Ġnull ) Ġ= ĊĠĠĠ ĠFragment Mutable Params Delegate ( custom Key , ĠdefaultValue ) Ċ Ċ /** Ċ Ġ* ĠGet Ġintent Ġwith Ġparams Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontext ĠMust Ġbe Ġactivity Ġcontext Ċ Ġ*/ Ċ fun ĠActivity . intent ( context : ĠContext ): ĠIntent Ġ{ ĊĠĠĠ Ġif Ġ( context Ġ! is ĠActivity ) Ġthrow ĠIllegalStateException (" Must Ġuse Ġactivity Ġcontext !") ĊĠĠĠ Ġval Ġintent Ġ= Ġintent s Map [ this ] Ġ?: Ġthrow ĠIllegalStateException (" Intent Ġnot Ġfound ") ĊĠĠĠ Ġintent . set Class ( context , Ġthis :: class . java ) ĊĠĠĠ Ġreturn Ġintent Ċ } Ċ Ċ /** Ċ Ġ* ĠStart Ġactivity Ġby Ġparams Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontext ĠMust Ġbe Ġactivity Ġcontext Ċ Ġ*/ Ċ fun ĠActivity . start ( context : ĠContext ) Ġ{ ĊĠĠĠ Ġif Ġ( context Ġ! is ĠActivity ) Ġthrow ĠIllegalStateException (" Must Ġuse Ġactivity Ġcontext !") ĊĊĠĠĠ Ġval Ġintent Ġ= Ġintent s Map [ this ] ĊĠĠĠ Ġif Ġ( intent Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew Intent Ġ= ĠIntent ( context , Ġthis :: class . java ) ĊĠĠĠĠĠĠĠ Ġcontext . startActivity ( new Intent ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġintent . set Class ( context , Ġthis :: class . java ) ĊĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġintent s Map . remove ( this ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ internal Ġfun Ġlog ( any : ĠAny ) Ġ{ ĊĠĠĠ ĠLog . d (" Br acer ", Ġany . toString ()) Ċ } Ċ Ċ internal Ġval Ġgson Ġby Ġlazy Ġ{ ĠGson () Ġ} Ċ Ċ internal Ġinline Ġfun Ġ< P , Ġre ified ĠR > ĠP ?. or ( defaultValue : Ġ() Ġ-> ĠR ): ĠR Ġ{ ĊĠĠĠ Ġreturn Ġthis Ġas ? ĠR Ġ?: ĠdefaultValue () Ċ } ĊĊĊĊĊĊ