package Ġio . dol by . sdk . com ms . react native . services Ċ Ċ import Ġcom . facebook . react . bridge . Promise Ċ import Ġcom . facebook . react . bridge . React ApplicationContext Ċ import Ġcom . facebook . react . bridge . React Context Base Java Module Ċ import Ġcom . facebook . react . bridge . React Method Ċ import Ġcom . facebook . react . bridge . Readable Map Ċ import Ġcom . v ox e et . sdk . models . Participant Ċ import Ġcom . v ox e et . sdk . services . Session Service Ċ import Ġio . dol by . sdk . com ms . react native . mapper . Participant Mapper Ċ import Ġio . dol by . sdk . com ms . react native . utils . Promises Ċ import Ġio . dol by . sdk . com ms . react native . utils . Promises . forward Ċ import Ġio . dol by . sdk . com ms . react native . utils . Promises . reject If False Ċ import Ġio . dol by . sdk . com ms . react native . utils . Promises . then Promise Ċ import Ġio . dol by . sdk . com ms . react native . utils . Promises . then Value Ċ Ċ /** Ċ Ġ* ĠThe Ġ[ R NS ession Service Module ] Ġallows Ġan Ġapplication Ġto Ġregister Ġparticipants ' Ġinformation Ġin Ġthe ĠV ox e et Ġservice . Ċ Ġ* ĠThe Ġapplication Ġneeds Ġto Ġopen Ġa Ġsession Ġbefore Ġit Ġcan Ġinteract Ġwith Ġthe Ġservice Ġfurther . Ċ Ġ* ĠThe Ġapplication Ġmay Ġopen Ġ[ open ] Ġand Ġclose Ġ[ close ] Ġsessions Ġmultiple Ġtimes . Ċ Ġ* Ċ Ġ* Ġ@ constructor Ċ Ġ* ĠCreates Ġa Ġbridge Ġwrapper Ġfor Ġ[ Session Service ]. Ċ Ġ* Ċ Ġ* Ġ@ param Ġsession Service ĠĠĠ Ġ[ Session Service ] Ġfrom ĠAndroid ĠSDK Ċ Ġ* Ġ@ param Ġreact Context ĠĠĠĠĠ Ġreact Ġcontext Ċ Ġ* Ġ@ param Ġparticipant Mapper Ġmapper Ġfor Ġa Ġ[ Participant ] Ġand Ġ[ Participant ]- related Ġmodels Ċ Ġ*/ Ċ class ĠR NS ession Service Module ( ĊĠ Ġreact Context : ĠReact ApplicationContext , ĊĠ Ġprivate Ġval Ġsession Service : ĠSession Service , ĊĠ Ġprivate Ġval Ġparticipant Mapper : ĠPart icipant Mapper Ċ ) Ġ: ĠReact Context Base Java Module ( react Context ) Ġ{ ĊĊĠ Ġoverride Ġfun ĠgetName (): ĠString Ġ= Ġ" Com ms API Session Service Module " ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠOpen s Ġa Ġsession Ġusing Ġinformation Ġfrom Ġthe ĠPart icipant Info Ġmodel . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġparticipant Info RN ĠPart icipant Info Ġwhich Ġshould Ġcontain Ġat Ġleast Ġone Ġparticipant Ġname ĊĠĠ Ġ* Ġ@ param Ġpromise ĠĠĠĠĠĠĠĠĠĠ Ġreturns Ġnull ĊĠĠ Ġ*/ ĊĠ Ġ@ React Method ĊĠ Ġfun Ġopen ( participant Info RN : ĠRead able Map , Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠ ĠPromise s . promise ( participant Mapper . info From RN ( participant Info RN )) Ġ{ Ġ" Couldn 't Ġget Ġparticipant Ġinfo " Ġ} ĊĠĠĠĠĠ Ġ. then Promise ( session Service :: open ) ĊĠĠĠĠĠ Ġ. reject If False Ġ{ Ġ" Open Ġsession Ġoperation Ġfailed " Ġ} ĊĠĠĠĠĠ Ġ. forward ( promise ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠLogs Ġout Ġfrom Ġthe Ġcurrent Ġsession . ĊĠĠ Ġ* ĠLogging Ġout Ġcancel s Ġall Ġlogging Ġprocesses Ġand Ġleaves Ġthe Ġconference . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġpromise Ġreturns Ġnull ĊĠĠ Ġ*/ ĊĠ Ġ@ React Method ĊĠ Ġfun Ġclose ( promise : ĠPromise ) Ġ{ ĊĠĠĠ Ġsession Service ĊĠĠĠĠĠ Ġ. close () ĊĠĠĠĠĠ Ġ. reject If False Ġ{ Ġ" Close Ġsession Ġoperation Ġfailed " Ġ} ĊĠĠĠĠĠ Ġ. forward ( promise ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGets Ġa Ġcorresponding Ġcurrently Ġlogged Ġin Ġparticipants ' Ġrepresentation . ĠIt Ġis Ġnot Ġan Ġobject ĊĠĠ Ġ* Ġrelated Ġto Ġany Ġconference . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġpromise Ġreturns Ġa Ġnew Ġinstance Ġaggreg ating Ġthe ĠID Ġand Ġparticipant Info ĊĠĠ Ġ*/ ĊĠ Ġ@ React Method ĊĠ Ġfun Ġget Participant ( promise : ĠPromise ) Ġ{ ĊĠĠĠ ĠPromise s ĊĠĠĠĠĠ Ġ. promise ( session Service . participant , Ġ{ Ġ" No Ġcurrent Ġuser 's Ġsession " Ġ}) ĊĠĠĠĠĠ Ġ. then Value ( participant Mapper :: to RN ) ĊĠĠĠĠĠ Ġ. forward ( promise ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠChecks Ġwhether Ġthere Ġis Ġan Ġopen Ġsession Ġthat Ġconnects ĠSDK Ġwith Ġbackend . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġpromise Ġreturns Ġboolean Ġ- ĠInformation Ġif Ġa Ġsession Ġis Ġopen . ĊĠĠ Ġ*/ ĊĠ Ġ@ React Method ĊĠ Ġfun ĠisOpen ( promise : ĠPromise ) Ġ{ ĊĠĠĠ ĠPromise s ĊĠĠĠĠĠ Ġ. promise ( session Service . isOpen ) ĊĠĠĠĠĠ Ġ. forward ( promise ) ĊĠ Ġ} Ċ } Ċ