disable removing of broken devices by default

This commit is contained in:
Daniel Gultsch 2016-12-18 11:49:27 +01:00
parent dbda2afd6d
commit fbbf1a37b4
2 changed files with 14 additions and 10 deletions

View file

@ -81,6 +81,8 @@ public final class Config {
public static final long MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000; public static final long MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000;
public static final long OMEMO_AUTO_EXPIRY = 7 * MILLISECONDS_IN_DAY; public static final long OMEMO_AUTO_EXPIRY = 7 * MILLISECONDS_IN_DAY;
public static final boolean REMOVE_BROKEN_DEVICES = false;
public static final boolean DISABLE_PROXY_LOOKUP = false; //useful to debug ibb public static final boolean DISABLE_PROXY_LOOKUP = false; //useful to debug ibb
public static final boolean DISABLE_HTTP_UPLOAD = false; public static final boolean DISABLE_HTTP_UPLOAD = false;

View file

@ -804,19 +804,21 @@ public class AxolotlService implements OnAdvancedStreamFeaturesLoaded {
} }
mXmppConnectionService.keyStatusUpdated(report); mXmppConnectionService.keyStatusUpdated(report);
} }
if (Config.REMOVE_BROKEN_DEVICES) {
Set<Integer> ownDeviceIds = new HashSet<>(getOwnDeviceIds()); Set<Integer> ownDeviceIds = new HashSet<>(getOwnDeviceIds());
boolean publish = false; boolean publish = false;
for(Map.Entry<Integer,FetchStatus> entry : own.entrySet()) { for (Map.Entry<Integer, FetchStatus> entry : own.entrySet()) {
int id = entry.getKey(); int id = entry.getKey();
if (entry.getValue() == FetchStatus.ERROR && PREVIOUSLY_REMOVED_FROM_ANNOUNCEMENT.add(id) && ownDeviceIds.remove(id)) { if (entry.getValue() == FetchStatus.ERROR && PREVIOUSLY_REMOVED_FROM_ANNOUNCEMENT.add(id) && ownDeviceIds.remove(id)) {
publish = true; publish = true;
Log.d(Config.LOGTAG,account.getJid().toBareJid()+": error fetching own device with id "+id+". removing from announcement"); Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": error fetching own device with id " + id + ". removing from announcement");
} }
} }
if (publish) { if (publish) {
publishOwnDeviceId(ownDeviceIds); publishOwnDeviceId(ownDeviceIds);
} }
} }
}
private void buildSessionFromPEP(final AxolotlAddress address) { private void buildSessionFromPEP(final AxolotlAddress address) {
Log.i(Config.LOGTAG, AxolotlService.getLogprefix(account) + "Building new session for " + address.toString()); Log.i(Config.LOGTAG, AxolotlService.getLogprefix(account) + "Building new session for " + address.toString());