let hasPendingFetches() return true when fetching device ids

This commit is contained in:
Daniel Gultsch 2017-06-29 20:04:38 +02:00
parent 7a2856ac86
commit 8d6b2074cb
1 changed files with 6 additions and 4 deletions

View File

@ -1138,10 +1138,12 @@ public class AxolotlService implements OnAdvancedStreamFeaturesLoaded {
if (fetchStatusMap.getAll(ownAddress.getName()).containsValue(FetchStatus.PENDING)) {
return true;
}
for(Jid jid : jids) {
SignalProtocolAddress foreignAddress = new SignalProtocolAddress(jid.toBareJid().toPreppedString(), 0);
if (fetchStatusMap.getAll(foreignAddress.getName()).containsValue(FetchStatus.PENDING)) {
return true;
synchronized (this.fetchDeviceIdsMap) {
for (Jid jid : jids) {
SignalProtocolAddress foreignAddress = new SignalProtocolAddress(jid.toBareJid().toPreppedString(), 0);
if (fetchStatusMap.getAll(foreignAddress.getName()).containsValue(FetchStatus.PENDING) || this.fetchDeviceIdsMap.containsKey(jid)) {
return true;
}
}
}
return false;