/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġandroidx . gl ance . action Ċ Ċ import Ġjava . util . Collections Ċ Ċ /** Ċ Ġ* ĠAction Ġparameters , Ġused Ġto Ġpass Ġinformation Ġto Ġan Ġ[ Action ]. Ċ Ġ* Ċ Ġ* ĠConstruct Ġaction Ġparameters Ġusing Ġ[ action Parameters Of ] Ġor Ġ[ mutable Action Parameters Of ], Ġwith Ġtyped Ċ Ġ* Ġkey - value Ġpairs . ĠThe Ġ[ Key ] Ġclass Ġen forces Ġtyping Ġof Ġthe Ġvalues Ġinserted . Ċ Ġ*/ Ċ public Ġabstract Ġclass ĠAction Parameters Ġinternal Ġconstructor () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠKey Ġfor Ġ[ Action Parameters ] Ġvalues . ĠType ĠT Ġis Ġthe Ġtype Ġof Ġthe Ġassociated Ġvalue . ĠThe Ġ[ Key . name ] ĊĠĠĠĠ Ġ* Ġmust Ġbe Ġunique , Ġkeys Ġwith Ġthe Ġsame Ġname Ġare Ġconsidered Ġequal . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġclass ĠKey < T Ġ: ĠAny > Ġ( public Ġval Ġname : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠIn fix Ġfunction Ġto Ġcreate Ġa ĠParameters . Pair . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġthe Ġvalue Ġthis Ġkey Ġshould Ġpoint Ġto ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġpublic Ġin fix Ġfun Ġto ( value : ĠT ): ĠPair < T > Ġ= ĠPair ( this , Ġvalue ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ= Ġother Ġis ĠKey < *> Ġ&& Ġname Ġ== Ġother . name ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ= Ġname . hashCode () ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġname ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠKey ĠValue Ġpairs Ġfor ĠParameters . ĠType ĠT Ġis Ġthe Ġtype Ġof Ġthe Ġvalue . ĠPair s Ġmust Ġhave Ġunique Ġkeys , ĊĠĠĠĠ Ġ* Ġor Ġthey Ġwill Ġbe Ġconsidered Ġequal . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠCreate Ġthis Ġusing Ġthe Ġin fix Ġfunction Ġ[ to ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġclass ĠPair < T Ġ: ĠAny > Ġinternal Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġinternal Ġval Ġkey : ĠKey < T >, ĊĠĠĠĠĠĠĠ Ġinternal Ġval Ġvalue : ĠT ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġother Ġis ĠPair < *> Ġ&& Ġkey Ġ== Ġother . key Ġ&& Ġvalue Ġ== Ġother . value ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ= Ġkey . hashCode () Ġ+ Ġvalue . hashCode () ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġ" (${ key . name }, Ġ$ value )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġtrue Ġif Ġthe ĠParameters Ġset Ġcontains Ġthe Ġgiven ĠKey . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġkey Ġthe Ġkey Ġto Ġcheck Ġfor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġabstract Ġoperator Ġfun Ġ< T Ġ: ĠAny > Ġcontains ( key : ĠKey < T >): ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġa Ġparameter Ġwith Ġa Ġkey . ĠIf Ġthe Ġkey Ġis Ġnot Ġset , Ġreturns Ġnull . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param ĠT Ġthe Ġtype Ġof Ġthe Ġparameter ĊĠĠĠĠ Ġ* Ġ@ param Ġkey Ġthe Ġkey Ġfor Ġthe Ġparameter ĊĠĠĠĠ Ġ* Ġ@ throws ĠClass CastException Ġif Ġthere Ġis Ġsomething Ġstored Ġwith Ġthe Ġsame Ġname Ġas Ġ[ key ] Ġbut Ġit ĊĠĠĠĠ Ġ* Ġcannot Ġbe Ġcast Ġto ĠT ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġabstract Ġoperator Ġfun Ġ< T Ġ: ĠAny > Ġget ( key : ĠKey < T >): ĠT ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieves Ġa Ġmap Ġof Ġall Ġkey Ġvalue Ġpairs . ĠThe Ġmap Ġis Ġun modifiable , Ġand Ġattempts Ġto Ġmutate Ġit ĊĠĠĠĠ Ġ* Ġwill Ġthrow Ġruntime Ġexceptions . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġa Ġmap Ġof Ġall Ġparameters Ġin Ġthis ĠParameters ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġabstract Ġfun Ġas Map (): ĠMap < Key < out ĠAny >, ĠAny > Ċ } Ċ Ċ /** Ċ Ġ* ĠMutable Ġversion Ġof Ġ[ Action Parameters ]. ĠAllows Ġfor Ġediting Ġthe Ġunderlying Ġdata , Ġand Ġadding Ġor Ċ Ġ* Ġremoving Ġkey - value Ġpairs . Ċ Ġ*/ Ċ public Ġclass ĠMutable Action Parameters Ġinternal Ġconstructor ( ĊĠĠĠ Ġinternal Ġval Ġmap : ĠMutable Map < Key < out ĠAny >, ĠAny > Ġ= Ġmutable Map Of () Ċ ) Ġ: ĠAction Parameters () Ġ{ ĊĊĠĠĠ Ġoverride Ġoperator Ġfun Ġ< T Ġ: ĠAny > Ġcontains ( key : ĠKey < T >): ĠBoolean Ġ= Ġmap . containsKey ( key ) ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġoperator Ġfun Ġ< T Ġ: ĠAny > Ġget ( key : ĠKey < T >): ĠT ? Ġ= Ġmap [ key ] Ġas ĠT ? ĊĊĠĠĠ Ġoverride Ġfun Ġas Map (): ĠMap < Key < out ĠAny >, ĠAny > Ġ= ĠCollections . unmodifiable Map ( map ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġa Ġkey Ġvalue Ġpair Ġin ĠMutable Parameters . ĠIf Ġthe Ġvalue Ġis Ġnull , Ġthe Ġkey Ġis Ġremoved Ġfrom Ġthe ĊĠĠĠĠ Ġ* Ġparameters . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġkey Ġthe Ġparameter Ġto Ġset ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġthe Ġvalue Ġto Ġassign Ġto Ġthis Ġparameter ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġprevious Ġvalue Ġassociated Ġwith Ġthe Ġkey , Ġor Ġnull Ġif Ġthe Ġkey Ġwas Ġnot Ġpresent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġoperator Ġfun Ġ< T Ġ: ĠAny > Ġset ( key : ĠKey < T >, Ġvalue : ĠT ?): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap Value Ġ= Ġget ( key ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġremove ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġmap [ key ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġmap Value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRemoves Ġan Ġitem Ġfrom Ġthis ĠMutable Parameters . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġkey Ġthe Ġparameter Ġto Ġremove ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġoriginal Ġvalue Ġof Ġthe Ġparameter ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġpublic Ġfun Ġ< T Ġ: ĠAny > Ġremove ( key : ĠKey < T >) Ġ= Ġmap . remove ( key ) Ġas ĠT ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRemoves Ġall Ġparameters Ġfrom Ġthis ĠMutable Parameters . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfun Ġclear () Ġ= Ġmap . clear () ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ= Ġother Ġis ĠMutable Action Parameters Ġ&& Ġmap Ġ== Ġother . map ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ= Ġmap . hashCode () ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġmap . toString () Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġnew Ġread - only ĠParameters , Ġfrom Ġthe Ġspecified Ġcontents . ĠThe Ġkey Ġelement Ġin Ġthe Ġgiven Ċ Ġ* Ġpairs Ġwill Ġpoint Ġto Ġthe Ġcorresponding Ġvalue Ġelement . Ċ Ġ* Ċ Ġ* ĠIf Ġmultiple Ġpairs Ġhave Ġthe Ġsame Ġkey , Ġthe Ġresulting Ġmap Ġwill Ġcontain Ġonly Ġthe Ġvalue Ġfrom Ġthe Ġlast Ċ Ġ* Ġof Ġthose Ġpairs . Ċ Ġ*/ Ċ public Ġfun Ġaction Parameters Of ( var arg Ġpairs : ĠAction Parameters . Pair < out ĠAny >): ĠAction Parameters Ġ= ĊĠĠĠ Ġmutable Action Parameters Of (* pairs ) Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġnew ĠMutable Parameters , Ġfrom Ġthe Ġspecified Ġcontents . ĠThe Ġkey Ġelement Ġin Ġthe Ġgiven Ġpairs Ċ Ġ* Ġwill Ġpoint Ġto Ġthe Ġcorresponding Ġvalue Ġelement . Ċ Ġ* Ċ Ġ* ĠIf Ġmultiple Ġpairs Ġhave Ġthe Ġsame Ġkey , Ġthe Ġresulting ĠParameters Ġwill Ġcontain Ġonly Ġthe Ġvalue Ġfrom Ċ Ġ* Ġthe Ġlast Ġof Ġthose Ġpairs . Ċ Ġ*/ Ċ public Ġfun Ġmutable Action Parameters Of ( ĊĠĠĠ Ġvar arg Ġpairs : ĠAction Parameters . Pair < out ĠAny > Ċ ): ĠMutable Action Parameters Ġ= ĠMutable Action Parameters ( ĊĠĠĠ Ġmutable Map Of (* pairs . map Ġ{ Ġit . key Ġto Ġit . value Ġ}. to Typed Array ()) Ċ ) Ċ Ċ /** Ċ Ġ* ĠGets Ġa Ġmutable Ġcopy Ġof ĠParameters , Ġcontaining Ġall Ġkey Ġvalue Ġpairs . ĠThis Ġcan Ġbe Ġused Ġto Ġedit Ċ Ġ* Ġthe Ġparameter Ġdata Ġwithout Ġcreating Ġa Ġnew Ġobject . Ċ Ġ* Ċ Ġ* ĠThis Ġis Ġsimilar Ġto Ġ[ Map . to Mutable Map ]. Ċ Ġ* Ċ Ġ* Ġ@ return Ġa ĠMutable Parameters Ġwith Ġall Ġthe Ġsame Ġparameters Ġas Ġthis ĠParameters Ċ Ġ*/ Ċ public Ġfun ĠAction Parameters . to Mutable Parameters (): ĠMutable Action Parameters Ġ= ĊĠĠĠ ĠMutable Action Parameters ( as Map (). to Mutable Map ()) Ċ Ċ /** Ċ Ġ* ĠGets Ġa Ġread - only Ġcopy Ġof ĠParameters , Ġcontaining Ġall Ġkey Ġvalue Ġpairs . Ċ Ġ* Ċ Ġ* ĠThis Ġis Ġsimilar Ġto Ġ[ Map . toMap ]. Ċ Ġ* Ċ Ġ* Ġ@ return Ġa Ġcopy Ġof Ġthis ĠParameters Ċ Ġ*/ Ċ public Ġfun ĠAction Parameters . to Parameters (): ĠAction Parameters Ġ= Ġto Mutable Parameters () Ċ