1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-11-27 11:42:16 -05:00

Save name of the store type in StoreSettings

This commit is contained in:
cketti 2011-06-07 04:07:50 +02:00
parent 25c1a565e7
commit f6de6f8e42
4 changed files with 33 additions and 11 deletions

View File

@ -120,6 +120,11 @@ public abstract class Store {
* @see Account#getStoreUri() * @see Account#getStoreUri()
*/ */
public static class StoreSettings { public static class StoreSettings {
/**
* Name of the store type (e.g. "IMAP").
*/
public final String type;
/** /**
* The host name of the incoming server. * The host name of the incoming server.
*/ */
@ -162,6 +167,8 @@ public abstract class Store {
/** /**
* Creates a new {@code StoreSettings} object. * Creates a new {@code StoreSettings} object.
* *
* @param type
* see {@link StoreSettings#type}
* @param host * @param host
* see {@link StoreSettings#host} * see {@link StoreSettings#host}
* @param port * @param port
@ -175,8 +182,10 @@ public abstract class Store {
* @param password * @param password
* see {@link StoreSettings#password} * see {@link StoreSettings#password}
*/ */
public StoreSettings(String host, int port, ConnectionSecurity connectionSecurity, public StoreSettings(String type, String host, int port,
String authenticationType, String username, String password) { ConnectionSecurity connectionSecurity, String authenticationType, String username,
String password) {
this.type = type;
this.host = host; this.host = host;
this.port = port; this.port = port;
this.connectionSecurity = connectionSecurity; this.connectionSecurity = connectionSecurity;
@ -193,6 +202,12 @@ public abstract class Store {
public Map<String, String> getExtra() { public Map<String, String> getExtra() {
return null; return null;
} }
protected void putIfNotNull(Map<String, String> map, String key, String value) {
if (value != null) {
map.put(key, value);
}
}
} }

View File

@ -223,20 +223,22 @@ public class ImapStore extends Store {
* @see ImapStore#decodeUri(String) * @see ImapStore#decodeUri(String)
*/ */
private static class ImapStoreSettings extends StoreSettings { private static class ImapStoreSettings extends StoreSettings {
private static final String PATH_PREFIX_KEY = "path_prefix"; private static final String STORE_TYPE = "IMAP";
private static final String PATH_PREFIX_KEY = "pathPrefix";
public final String pathPrefix; public final String pathPrefix;
protected ImapStoreSettings(String host, int port, ConnectionSecurity connectionSecurity, protected ImapStoreSettings(String host, int port, ConnectionSecurity connectionSecurity,
String authenticationType, String username, String password, String pathPrefix) { String authenticationType, String username, String password, String pathPrefix) {
super(host, port, connectionSecurity, authenticationType, username, password); super(STORE_TYPE, host, port, connectionSecurity, authenticationType, username,
password);
this.pathPrefix = pathPrefix; this.pathPrefix = pathPrefix;
} }
@Override @Override
public Map<String, String> getExtra() { public Map<String, String> getExtra() {
Map<String, String> extra = new HashMap<String, String>(); Map<String, String> extra = new HashMap<String, String>();
extra.put(PATH_PREFIX_KEY, pathPrefix); putIfNotNull(extra, PATH_PREFIX_KEY, pathPrefix);
return extra; return extra;
} }
} }

View File

@ -26,6 +26,8 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
public class Pop3Store extends Store { public class Pop3Store extends Store {
private static final String STORE_TYPE = "POP3";
public static final int CONNECTION_SECURITY_NONE = 0; public static final int CONNECTION_SECURITY_NONE = 0;
public static final int CONNECTION_SECURITY_TLS_OPTIONAL = 1; public static final int CONNECTION_SECURITY_TLS_OPTIONAL = 1;
public static final int CONNECTION_SECURITY_TLS_REQUIRED = 2; public static final int CONNECTION_SECURITY_TLS_REQUIRED = 2;
@ -99,7 +101,8 @@ public class Pop3Store extends Store {
} }
} }
return new StoreSettings(host, port, connectionSecurity, null, username, password); return new StoreSettings(STORE_TYPE, host, port, connectionSecurity, null, username,
password);
} }

View File

@ -191,6 +191,7 @@ public class WebDavStore extends Store {
* @see WebDavStore#decodeUri(String) * @see WebDavStore#decodeUri(String)
*/ */
private static class WebDavStoreSettings extends StoreSettings { private static class WebDavStoreSettings extends StoreSettings {
private static final String STORE_TYPE = "WebDAV";
private static final String ALIAS_KEY = "alias"; private static final String ALIAS_KEY = "alias";
private static final String PATH_KEY = "path"; private static final String PATH_KEY = "path";
private static final String AUTH_PATH_KEY = "authPath"; private static final String AUTH_PATH_KEY = "authPath";
@ -204,7 +205,8 @@ public class WebDavStore extends Store {
protected WebDavStoreSettings(String host, int port, ConnectionSecurity connectionSecurity, protected WebDavStoreSettings(String host, int port, ConnectionSecurity connectionSecurity,
String authenticationType, String username, String password, String alias, String authenticationType, String username, String password, String alias,
String path, String authPath, String mailboxPath) { String path, String authPath, String mailboxPath) {
super(host, port, connectionSecurity, authenticationType, username, password); super(STORE_TYPE, host, port, connectionSecurity, authenticationType, username,
password);
this.alias = alias; this.alias = alias;
this.path = path; this.path = path;
this.authPath = authPath; this.authPath = authPath;
@ -214,10 +216,10 @@ public class WebDavStore extends Store {
@Override @Override
public Map<String, String> getExtra() { public Map<String, String> getExtra() {
Map<String, String> extra = new HashMap<String, String>(); Map<String, String> extra = new HashMap<String, String>();
extra.put(ALIAS_KEY, alias); putIfNotNull(extra, ALIAS_KEY, alias);
extra.put(PATH_KEY, path); putIfNotNull(extra, PATH_KEY, path);
extra.put(AUTH_PATH_KEY, authPath); putIfNotNull(extra, AUTH_PATH_KEY, authPath);
extra.put(MAILBOX_PATH_KEY, mailboxPath); putIfNotNull(extra, MAILBOX_PATH_KEY, mailboxPath);
return extra; return extra;
} }
} }