aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-04-12 21:45:17 +0200
committerChristian Schneppe <christian@pix-art.de>2018-04-12 21:45:17 +0200
commit9094e8839d8d9790fb4ec18d961891492606033e (patch)
tree412ce518d59983c44e61c3e2bb5bcfe66d52107f /src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java
parentfbd3083d4a39c56fa7bea5f01bede2ad1d2536eb (diff)
figure out fallbacks with omemo source id
Diffstat (limited to 'src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java')
-rw-r--r--src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java b/src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java
index d23e3a88b..ed432bb9b 100644
--- a/src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java
+++ b/src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java
@@ -206,6 +206,19 @@ public class AxolotlService implements OnAdvancedStreamFeaturesLoaded {
this.fillMap(store);
}
+ public Set<Jid> findCounterpartsForSourceId(Integer sid) {
+ Set<Jid> candidates = new HashSet<>();
+ synchronized (MAP_LOCK) {
+ for (Map.Entry<String, Map<Integer, XmppAxolotlSession>> entry : map.entrySet()) {
+ String key = entry.getKey();
+ if (entry.getValue().containsKey(sid)) {
+ candidates.add(Jid.of(key));
+ }
+ }
+ }
+ return candidates;
+ }
+
private void putDevicesForJid(String bareJid, List<Integer> deviceIds, SQLiteAxolotlStore store) {
for (Integer deviceId : deviceIds) {
SignalProtocolAddress axolotlAddress = new SignalProtocolAddress(bareJid, deviceId);
@@ -316,6 +329,10 @@ public class AxolotlService implements OnAdvancedStreamFeaturesLoaded {
return keys;
}
+ public Set<Jid> findCounterpartsBySourceId(int sid) {
+ return sessions.findCounterpartsForSourceId(sid);
+ }
+
public long getNumTrustedKeys(Jid jid) {
return axolotlStore.getContactNumTrustedKeys(jid.asBareJid().toString());
}