package Ġcom . bos w el ja . watch connection . common Ċ Ċ /** Ċ Ġ* ĠThe Ġstandard ised ĠPhone Ġrepresentation . Ċ Ġ* Ġ@ param Ġuid ĠA Ġunique ĠID Ġassigned Ġto Ġthis Ġphone . Ċ Ġ* Ġ@ param Ġname ĠThe Ġdisplay Ġname Ġof Ġthis Ġphone . Ċ Ġ*/ Ċ public Ġdata Ġclass ĠPhone ( ĊĠĠĠ Ġpublic Ġval Ġuid : ĠString , ĊĠĠĠ Ġpublic Ġval Ġname : ĠString , Ċ ) Ċ Ċ /** Ċ Ġ* ĠThe Ġstandard ised ĠWatch Ġrepresentation . Ċ Ġ* Ġ@ param Ġuid ĠA Ġunique ĠID Ġassigned Ġto Ġthis Ġwatch . Ċ Ġ* Ġ@ param Ġname ĠThe Ġdisplay Ġname Ġof Ġthis Ġwatch . Ċ Ġ*/ Ċ public Ġdata Ġclass ĠWatch ( ĊĠĠĠ Ġpublic Ġval Ġuid : ĠString , ĊĠĠĠ Ġpublic Ġval Ġname : ĠString Ċ ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġwatch Ġinternal ĠID Ġfor Ġuse Ġwith Ġit 's Ġdesign ated Ġplatform . ĠThere Ġshould Ġbe Ġno Ġreferences ĊĠĠĠĠ Ġ* Ġto Ġthis Ġin Ġuser Ġcode . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġinternal Id : ĠString ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġidentifier Ġfor Ġthe Ġplatform Ġthis Ġwatch Ġbelongs Ġto . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġplatform : ĠString ĊĊĠĠĠ Ġpublic Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġinternal Id : ĠString , ĊĠĠĠĠĠĠĠ Ġplatform : ĠString ĊĠĠĠ Ġ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġcreate Uid ( platform , Ġinternal Id ), ĊĠĠĠĠĠĠĠ Ġname ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( platform , Ġinternal Id ) Ġ= Ġget Info From Uid ( uid ) ĊĠĠĠĠĠĠĠ Ġthis . internal Id Ġ= Ġinternal Id ĊĠĠĠĠĠĠĠ Ġthis . platform Ġ= Ġplatform ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠU id Delimiter Ġ= Ġ" |" ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠGet Ġa Ġpair Ġcontaining Ġthe Ġdevice Ġplatform Ġand Ġinternal ĠID Ġfrom Ġthe Ġgiven ĠUID . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġget Info From Uid ( uid : ĠString ): ĠPair < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( platform , Ġinternal Id ) Ġ= Ġuid . split ( Uid Delimiter ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPair ( platform , Ġinternal Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠGets Ġa Ġreproducible , Ġunique ĠID Ġfrom Ġthe Ġprovided Ġinfo . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġplatform ĠThe Ġplatform Ġidentifier Ġfor Ġthis Ġw atches Ġplatform . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġplatform Id ĠSee Ġ[ Watch . internal Id ]. ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġcreate Uid ( platform : ĠString , Ġplatform Id : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( platform . isNotBlank ()) Ġ{ Ġ" platform Ġcannot Ġbe Ġblank Ġor Ġempty " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( platform Id . isNotBlank ()) Ġ{ Ġ" platform Id Ġcannot Ġbe Ġblank Ġor Ġempty " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"$ platform $ Uid Delimiter $ platform Id " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ