don't throw assertion error when building session with same device id from other contact
This commit is contained in:
parent
b8f67bfaa3
commit
fcd9ab17fe
|
@ -364,6 +364,10 @@ public class AxolotlService implements OnAdvancedStreamFeaturesLoaded {
|
|||
return axolotlStore.getLocalRegistrationId();
|
||||
}
|
||||
|
||||
public AxolotlAddress getOwnAxolotlAddress() {
|
||||
return new AxolotlAddress(account.getJid().toBareJid().toPreppedString(),getOwnDeviceId());
|
||||
}
|
||||
|
||||
public Set<Integer> getOwnDeviceIds() {
|
||||
return this.deviceIds.get(account.getJid().toBareJid());
|
||||
}
|
||||
|
@ -453,6 +457,7 @@ public class AxolotlService implements OnAdvancedStreamFeaturesLoaded {
|
|||
} else {
|
||||
Element item = mXmppConnectionService.getIqParser().getItem(packet);
|
||||
Set<Integer> deviceIds = mXmppConnectionService.getIqParser().deviceIds(item);
|
||||
Log.d(Config.LOGTAG,account.getJid().toBareJid()+": retrieved own device list: "+deviceIds);
|
||||
registerDevices(account.getJid().toBareJid(),deviceIds);
|
||||
}
|
||||
}
|
||||
|
@ -822,7 +827,7 @@ public class AxolotlService implements OnAdvancedStreamFeaturesLoaded {
|
|||
|
||||
private void buildSessionFromPEP(final AxolotlAddress address) {
|
||||
Log.i(Config.LOGTAG, AxolotlService.getLogprefix(account) + "Building new session for " + address.toString());
|
||||
if (address.getDeviceId() == getOwnDeviceId()) {
|
||||
if (address.equals(getOwnAxolotlAddress())) {
|
||||
throw new AssertionError("We should NEVER build a session with ourselves. What happened here?!");
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue