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,11 +433,33 @@ public class Preferences {
switch (oldVersion) { switch (oldVersion) {
case 1: case 1:
// fall through
case 2: case 2:
// fall through
case 3: { case 3: {
// migrate keyserver to hkps migrateToHkps();
}
case 4: {
setTheme(Constants.Pref.Theme.DEFAULT);
}
case 5: {
KeyserverSyncAdapterService.enableKeyserverSync(context);
}
case 6:
case 7: {
addOnionToSks();
}
case 8: {
replaceDefaultKeyserverWithUbuntu();
}
}
// write new preference version
mSharedPreferences.edit()
.putInt(Constants.Pref.PREF_VERSION, Constants.Defaults.PREF_CURRENT_VERSION)
.commit();
}
}
private void migrateToHkps() {
ArrayList<HkpKeyserverAddress> servers = getKeyServers(); ArrayList<HkpKeyserverAddress> servers = getKeyServers();
ListIterator<HkpKeyserverAddress> it = servers.listIterator(); ListIterator<HkpKeyserverAddress> it = servers.listIterator();
while (it.hasNext()) { while (it.hasNext()) {
@@ -466,20 +488,8 @@ public class Preferences {
} }
setKeyServers(servers); setKeyServers(servers);
} }
// fall through
case 4: { private void addOnionToSks() {
setTheme(Constants.Pref.Theme.DEFAULT);
}
// fall through
case 5: {
KeyserverSyncAdapterService.enableKeyserverSync(context);
}
// fall through
case 6: {
}
// fall through
case 7: {
// add onion address to sks-keyservers.net
ArrayList<HkpKeyserverAddress> servers = getKeyServers(); ArrayList<HkpKeyserverAddress> servers = getKeyServers();
ListIterator<HkpKeyserverAddress> it = servers.listIterator(); ListIterator<HkpKeyserverAddress> it = servers.listIterator();
while (it.hasNext()) { while (it.hasNext()) {
@@ -496,17 +506,6 @@ public class Preferences {
} }
setKeyServers(servers); setKeyServers(servers);
} }
case 8: {
replaceDefaultKeyserverWithUbuntu();
}
}
// write new preference version
mSharedPreferences.edit()
.putInt(Constants.Pref.PREF_VERSION, Constants.Defaults.PREF_CURRENT_VERSION)
.commit();
}
}
private void replaceDefaultKeyserverWithUbuntu() { private void replaceDefaultKeyserverWithUbuntu() {
ArrayList<HkpKeyserverAddress> servers = getKeyServers(); ArrayList<HkpKeyserverAddress> servers = getKeyServers();
@@ -516,7 +515,7 @@ public class Preferences {
HkpKeyserverAddress ubuntuKeyserver = HkpKeyserverAddress.createFromUri("hkps://keyserver.ubuntu.com"); HkpKeyserverAddress ubuntuKeyserver = HkpKeyserverAddress.createFromUri("hkps://keyserver.ubuntu.com");
if (oldDefaults) { if (oldDefaults) {
servers.add(0, ubuntuKeyserver); servers.add(0, ubuntuKeyserver);
} else if (!servers.contains(ubuntuKeyserver)){ } else if (!servers.contains(ubuntuKeyserver)) {
servers.add(ubuntuKeyserver); servers.add(ubuntuKeyserver);
} }
setKeyServers(servers); setKeyServers(servers);