package Ġcom . two coders . dynamic . text Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Parcel Ċ import Ġandroid . os . Parcelable Ċ import Ġandroidx . annotation . Pl urals Res Ċ import Ġcom . two coders . extensions . common . NO _ ID Ċ Ċ @ Suppress Lint (" ResourceType ") Ċ internal Ġclass ĠPl ural Dynamic Text Ġ: ĠDynamic Text Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġquantity : ĠQuantity ĊĊĠĠĠ Ġinternal Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġ@ Pl urals Res Ġtext Resource : ĠInt , ĊĠĠĠĠĠĠĠ Ġquantity : ĠQuantity , ĊĠĠĠĠĠĠĠ Ġvar arg Ġargs : ĠAny ? Ġ= Ġempty Array () ĊĠĠĠ Ġ) Ġ: Ġsuper ( text Resource , Ġ* args ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . quantity Ġ= Ġquantity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġconstructor ( parcel : ĠParcel ) Ġ: Ġsuper ( parcel ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . quantity Ġ= Ġparcel . read Parcelable ( Quantity :: class . java . class Loader ) !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠwriteTo Parcel ( parcel : ĠParcel , Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . writeTo Parcel ( parcel , Ġflags ) ĊĠĠĠĠĠĠĠ Ġparcel . write Parcelable ( quantity , Ġflags ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval ĠCRE ATOR Ġ= Ġobject Ġ: ĠParcel able . Creator < Pl ural Dynamic Text > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel ( parcel : ĠParcel ) Ġ= ĠPl ural Dynamic Text ( parcel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < Pl ural Dynamic Text ?> Ġ= ĠarrayOf Null s ( size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetText ( context : ĠContext ): ĠCharSequence Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquantity Args Ġ= Ġif Ġ( quantity . use In Text ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( quantity . number , Ġ* args ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( text Resource Ġ!= ĠNO _ ID Ġ&& Ġquantity Args . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcontext . resources . get Quantity String ( text Resource , Ġquantity . number , Ġ* quantity Args ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . resources . get Quantity Text ( text Resource , Ġquantity . number ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! super . equals ( other )) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠPl ural Dynamic Text ĊĊĠĠĠĠĠĠĠ Ġif Ġ( quantity Ġ!= Ġother . quantity ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġsuper . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġquantity . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ }