/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠI ce Rock ĠMAG ĠInc . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ package Ġdev . icer ock . mo ko . resources . desc Ċ Ċ import Ġandroid . content . Context Ċ import Ġdev . icer ock . mo ko . resources . Pl urals Resource Ċ import Ġdev . icer ock . mo ko . resources . String Resource Ċ Ċ actual Ġsealed Ġclass ĠString Desc Ġ{ ĊĠĠĠ Ġactual Ġdata Ġclass ĠResource Ġactual Ġconstructor ( val Ġstring Res : ĠString Resource ) Ġ: ĠString Desc () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString ( context : ĠContext ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcontext . getString ( string Res . resourceId ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġdata Ġclass ĠResource Formatted Ġactual Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġval Ġstring Res : ĠString Resource , ĊĠĠĠĠĠĠĠ Ġval Ġargs : ĠList < Any > ĊĠĠĠ Ġ) Ġ: ĠString Desc () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString ( context : ĠContext ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcontext . getString ( string Res . resourceId , Ġ*( args . to Typed Array ())) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġactual Ġconstructor ( string Res : ĠString Resource , Ġvar arg Ġargs : ĠAny ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring Res , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . toList () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġdata Ġclass ĠPl ural Ġactual Ġconstructor ( val Ġpl urals Res : ĠPl urals Resource , Ġval Ġnumber : ĠInt ) Ġ: ĊĠĠĠĠĠĠĠ ĠString Desc () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString ( context : ĠContext ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcontext . resources . get Quantity String ( plurals Res . resourceId , Ġnumber ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġdata Ġclass ĠPl ural Formatted Ġactual Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġval Ġpl urals Res : ĠPl urals Resource , ĊĠĠĠĠĠĠĠ Ġval Ġnumber : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġargs : ĠList < Any > ĊĠĠĠ Ġ) Ġ: ĠString Desc () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString ( context : ĠContext ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcontext . resources . get Quantity String ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpl urals Res . resourceId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumber , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*( args . to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġactual Ġconstructor ( plurals Res : ĠPl urals Resource , Ġnumber : ĠInt , Ġvar arg Ġargs : ĠAny ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpl urals Res , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnumber , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . toList () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġdata Ġclass ĠRaw Ġactual Ġconstructor ( val Ġstring : ĠString ) Ġ: ĠString Desc () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString ( context : ĠContext ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġstring ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġdata Ġclass ĠComp osition Ġactual Ġconstructor ( val Ġargs : ĠList < StringDesc >, Ġval Ġseparator : ĠString ?) Ġ: ĠString Desc () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString ( context : ĠContext ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStringBuilder (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargs . forEach Indexed Ġ{ Ġindex , Ġstring Desc Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( index Ġ!= Ġ 0 Ġ&& Ġseparator Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( separator ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( string Desc . toString ( context )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun ĠtoString ( context : ĠContext ): ĠString Ċ } Ċ