/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠNew ĠVector ĠLtd Ċ Ġ* Ċ Ġ* Ġ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 Ġim . vector . matrix . android . internal . session . room . state Ċ Ċ import Ġim . vector . matrix . android . api . Matrix Callback Ċ import Ġim . vector . matrix . android . api . session . events . model . EventType Ċ import Ġim . vector . matrix . android . api . session . room . state . State Service Ċ import Ġim . vector . matrix . android . internal . task . Task Executor Ċ import Ġim . vector . matrix . android . internal . task . configure With Ċ import Ġjavax . inject . Inject Ċ Ċ internal Ġclass ĠDefault State Service Ġ@ Inject Ġconstructor ( private Ġval Ġroom Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġtask Executor : ĠTask Executor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġsend State Task : ĠSend State Task ) Ġ: ĠState Service Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Topic ( topic : ĠString , Ġcallback : ĠMatrix Callback < Unit >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠSend State Task . Params ( roomId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEventType . STATE _ ROOM _ TOPIC , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashMap < String , ĠString >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" topic ", Ġtopic ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠ Ġsend State Task . configure With ( params ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dispatch To ( callback ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute By ( task Executor ) ĊĠĠĠ Ġ} Ċ }