aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/generator/IqGenerator.java
diff options
context:
space:
mode:
authorAndreas Straub <andy@strb.org>2015-06-29 14:18:11 +0200
committerAndreas Straub <andy@strb.org>2015-07-19 21:32:26 +0200
commitc1d23b2395bfc9570aed07ba3413f988f08d84f5 (patch)
tree9dc5a3ec5fa69981bb9416f445a80a3261c12b63 /src/main/java/eu/siacs/conversations/generator/IqGenerator.java
parent6492801b89cea496b41fe77e6b2a9be18abb2081 (diff)
Migrate to new PEP layout
Merge prekeys into bundle node
Diffstat (limited to 'src/main/java/eu/siacs/conversations/generator/IqGenerator.java')
-rw-r--r--src/main/java/eu/siacs/conversations/generator/IqGenerator.java29
1 files changed, 9 insertions, 20 deletions
diff --git a/src/main/java/eu/siacs/conversations/generator/IqGenerator.java b/src/main/java/eu/siacs/conversations/generator/IqGenerator.java
index 5b3bde6a..0bef8853 100644
--- a/src/main/java/eu/siacs/conversations/generator/IqGenerator.java
+++ b/src/main/java/eu/siacs/conversations/generator/IqGenerator.java
@@ -10,6 +10,7 @@ import org.whispersystems.libaxolotl.state.SignedPreKeyRecord;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
import eu.siacs.conversations.crypto.axolotl.AxolotlService;
import eu.siacs.conversations.entities.Account;
@@ -131,23 +132,15 @@ public class IqGenerator extends AbstractGenerator {
return packet;
}
- public IqPacket retrieveBundleForDevice(final Jid to, final int deviceid) {
- final IqPacket packet = retrieve(AxolotlService.PEP_BUNDLE+":"+deviceid, null);
+ public IqPacket retrieveBundlesForDevice(final Jid to, final int deviceid) {
+ final IqPacket packet = retrieve(AxolotlService.PEP_BUNDLES+":"+deviceid, null);
if(to != null) {
packet.setTo(to);
}
return packet;
}
- public IqPacket retrievePreKeysForDevice(final Jid to, final int deviceId) {
- final IqPacket packet = retrieve(AxolotlService.PEP_PREKEYS+":"+deviceId, null);
- if(to != null) {
- packet.setTo(to);
- }
- return packet;
- }
-
- public IqPacket publishDeviceIds(final List<Integer> ids) {
+ public IqPacket publishDeviceIds(final Set<Integer> ids) {
final Element item = new Element("item");
final Element list = item.addChild("list", AxolotlService.PEP_PREFIX);
for(Integer id:ids) {
@@ -158,7 +151,8 @@ public class IqGenerator extends AbstractGenerator {
return publish(AxolotlService.PEP_DEVICE_LIST, item);
}
- public IqPacket publishBundle(final SignedPreKeyRecord signedPreKeyRecord, IdentityKey identityKey, final int deviceId) {
+ public IqPacket publishBundles(final SignedPreKeyRecord signedPreKeyRecord, final IdentityKey identityKey,
+ final List<PreKeyRecord> preKeyRecords, final int deviceId) {
final Element item = new Element("item");
final Element bundle = item.addChild("bundle", AxolotlService.PEP_PREFIX);
final Element signedPreKeyPublic = bundle.addChild("signedPreKeyPublic");
@@ -170,19 +164,14 @@ public class IqGenerator extends AbstractGenerator {
final Element identityKeyElement = bundle.addChild("identityKey");
identityKeyElement.setContent(Base64.encodeToString(identityKey.serialize(), Base64.DEFAULT));
- return publish(AxolotlService.PEP_BUNDLE+":"+deviceId, item);
- }
-
- public IqPacket publishPreKeys(final List<PreKeyRecord> prekeyList, final int deviceId) {
- final Element item = new Element("item");
- final Element prekeys = item.addChild("prekeys", AxolotlService.PEP_PREFIX);
- for(PreKeyRecord preKeyRecord:prekeyList) {
+ final Element prekeys = bundle.addChild("prekeys", AxolotlService.PEP_PREFIX);
+ for(PreKeyRecord preKeyRecord:preKeyRecords) {
final Element prekey = prekeys.addChild("preKeyPublic");
prekey.setAttribute("preKeyId", preKeyRecord.getId());
prekey.setContent(Base64.encodeToString(preKeyRecord.getKeyPair().getPublicKey().serialize(), Base64.DEFAULT));
}
- return publish(AxolotlService.PEP_PREKEYS+":"+deviceId, item);
+ return publish(AxolotlService.PEP_BUNDLES+":"+deviceId, item);
}
public IqPacket queryMessageArchiveManagement(final MessageArchiveService.Query mam) {