/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠThe ĠMatrix . org ĠFoundation ĠC . I . C . Ċ Ġ* Ċ Ġ* Ġ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 Ġorg . matrix . android . sdk . internal . crypto . tasks Ċ Ċ import Ġorg . matrix . android . sdk . internal . crypto . api . Crypto Api Ċ import Ġorg . matrix . android . sdk . internal . crypto . model . rest . Keys Query Body Ċ import Ġorg . matrix . android . sdk . internal . crypto . model . rest . Keys Query Response Ċ import Ġorg . matrix . android . sdk . internal . network . Global Error Receiver Ċ import Ġorg . matrix . android . sdk . internal . network . execute Request Ċ import Ġorg . matrix . android . sdk . internal . task . Task Ċ import Ġjavax . inject . Inject Ċ Ċ internal Ġinterface ĠDownload Keys For Users Task Ġ: ĠTask < Download Keys For Users Task . Params , ĠKeys Query Response > Ġ{ ĊĠĠĠ Ġdata Ġclass ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthe Ġlist Ġof Ġusers Ġto Ġget Ġkeys Ġfor . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ids : ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthe Ġup - to Ġtoken ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtoken : ĠString ? ĊĠĠĠ Ġ) Ċ } Ċ Ċ internal Ġclass ĠDefault Download Keys For Users Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcrypto Api : ĠCrypto Api , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġglobal Error Receiver : ĠGlobal Error Receiver Ċ ) Ġ: ĠDownload Keys For Users Task Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġexecute ( params : ĠDownload Keys For Users Task . Params ): ĠKeys Query Response Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdownload Query Ġ= Ġparams . user Ids . associate With Ġ{ Ġempty List < String >() Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠKeys Query Body ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevice Keys Ġ= Ġdownload Query , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Ġ= Ġparams . token ?. take If Ġ{ Ġit . isNotEmpty () Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġexecute Request ( global Error Receiver ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapi Call Ġ= Ġcrypto Api . download Keys For Users ( body ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ