Refactor preference upgrade

This commit is contained in:
Dominik Schürmann
2018-02-20 16:43:11 +01:00
parent 3700432bd2
commit 7eaabdaac1

View File

@@ -433,68 +433,19 @@ public class Preferences {
switch (oldVersion) {
case 1:
// fall through
case 2:
// fall through
case 3: {
// migrate keyserver to hkps
ArrayList<HkpKeyserverAddress> servers = getKeyServers();
ListIterator<HkpKeyserverAddress> it = servers.listIterator();
while (it.hasNext()) {
HkpKeyserverAddress server = it.next();
if (server == null) {
continue;
}
switch (server.getUrl()) {
case "pool.sks-keyservers.net": {
// use HKPS!
it.set(HkpKeyserverAddress.createFromUri("hkps://hkps.pool.sks-keyservers.net"));
break;
}
case "pgp.mit.edu": {
// use HKPS!
it.set(HkpKeyserverAddress.createFromUri("hkps://pgp.mit.edu"));
break;
}
case "subkeys.pgp.net": {
// remove, because often down and no HKPS!
it.remove();
break;
}
}
}
setKeyServers(servers);
migrateToHkps();
}
// fall through
case 4: {
setTheme(Constants.Pref.Theme.DEFAULT);
}
// fall through
case 5: {
KeyserverSyncAdapterService.enableKeyserverSync(context);
}
// fall through
case 6: {
}
// fall through
case 6:
case 7: {
// add onion address to sks-keyservers.net
ArrayList<HkpKeyserverAddress> servers = getKeyServers();
ListIterator<HkpKeyserverAddress> it = servers.listIterator();
while (it.hasNext()) {
HkpKeyserverAddress server = it.next();
if (server == null) {
continue;
}
if ("hkps://hkps.pool.sks-keyservers.net".equals(server.getUrl())) {
it.set(HkpKeyserverAddress.createWithOnionProxy(
"hkps://hkps.pool.sks-keyservers.net",
"hkp://jirk5u4osbsr34t5.onion"));
}
}
setKeyServers(servers);
addOnionToSks();
}
case 8: {
replaceDefaultKeyserverWithUbuntu();
@@ -508,6 +459,54 @@ public class Preferences {
}
}
private void migrateToHkps() {
ArrayList<HkpKeyserverAddress> servers = getKeyServers();
ListIterator<HkpKeyserverAddress> it = servers.listIterator();
while (it.hasNext()) {
HkpKeyserverAddress server = it.next();
if (server == null) {
continue;
}
switch (server.getUrl()) {
case "pool.sks-keyservers.net": {
// use HKPS!
it.set(HkpKeyserverAddress.createFromUri("hkps://hkps.pool.sks-keyservers.net"));
break;
}
case "pgp.mit.edu": {
// use HKPS!
it.set(HkpKeyserverAddress.createFromUri("hkps://pgp.mit.edu"));
break;
}
case "subkeys.pgp.net": {
// remove, because often down and no HKPS!
it.remove();
break;
}
}
}
setKeyServers(servers);
}
private void addOnionToSks() {
ArrayList<HkpKeyserverAddress> servers = getKeyServers();
ListIterator<HkpKeyserverAddress> it = servers.listIterator();
while (it.hasNext()) {
HkpKeyserverAddress server = it.next();
if (server == null) {
continue;
}
if ("hkps://hkps.pool.sks-keyservers.net".equals(server.getUrl())) {
it.set(HkpKeyserverAddress.createWithOnionProxy(
"hkps://hkps.pool.sks-keyservers.net",
"hkp://jirk5u4osbsr34t5.onion"));
}
}
setKeyServers(servers);
}
private void replaceDefaultKeyserverWithUbuntu() {
ArrayList<HkpKeyserverAddress> servers = getKeyServers();
boolean oldDefaults = "hkps://hkps.pool.sks-keyservers.net".equalsIgnoreCase(servers.get(0).getUrl()) ||
@@ -516,7 +515,7 @@ public class Preferences {
HkpKeyserverAddress ubuntuKeyserver = HkpKeyserverAddress.createFromUri("hkps://keyserver.ubuntu.com");
if (oldDefaults) {
servers.add(0, ubuntuKeyserver);
} else if (!servers.contains(ubuntuKeyserver)){
} else if (!servers.contains(ubuntuKeyserver)) {
servers.add(ubuntuKeyserver);
}
setKeyServers(servers);