diff options
author | Kyle Horimoto <khorimoto@gmail.com> | 2015-09-18 12:22:29 -0700 |
---|---|---|
committer | Kyle Horimoto <khorimoto@gmail.com> | 2015-09-25 11:23:36 -0700 |
commit | a9700a076d09989a5c6ae77888096e1ad5e4ffbf (patch) | |
tree | af73f204ad679a6988bd3e97e831aaa5a8a537ba /app/src/main/java/org/connectbot/bean | |
parent | d88325b798d01a4584f551ea14ff072453ce603a (diff) | |
download | connectbot-a9700a076d09989a5c6ae77888096e1ad5e4ffbf.tar.gz connectbot-a9700a076d09989a5c6ae77888096e1ad5e4ffbf.tar.bz2 connectbot-a9700a076d09989a5c6ae77888096e1ad5e4ffbf.zip |
Add EditHostActivity.
Diffstat (limited to 'app/src/main/java/org/connectbot/bean')
-rw-r--r-- | app/src/main/java/org/connectbot/bean/HostBean.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/app/src/main/java/org/connectbot/bean/HostBean.java b/app/src/main/java/org/connectbot/bean/HostBean.java index 93d7716..1fbb9be 100644 --- a/app/src/main/java/org/connectbot/bean/HostBean.java +++ b/app/src/main/java/org/connectbot/bean/HostBean.java @@ -17,6 +17,10 @@ package org.connectbot.bean; +import org.connectbot.transport.Local; +import org.connectbot.transport.SSH; +import org.connectbot.transport.Telnet; +import org.connectbot.transport.TransportFactory; import org.connectbot.util.HostDatabase; import android.content.ContentValues; @@ -226,6 +230,29 @@ public class HostBean extends AbstractBean { return values; } + public static HostBean fromContentValues(ContentValues values) { + HostBean host = new HostBean(); + host.setNickname(values.getAsString(HostDatabase.FIELD_HOST_NICKNAME)); + host.setProtocol(values.getAsString(HostDatabase.FIELD_HOST_PROTOCOL)); + host.setUsername(values.getAsString(HostDatabase.FIELD_HOST_USERNAME)); + host.setHostname(values.getAsString(HostDatabase.FIELD_HOST_HOSTNAME)); + host.setPort(values.getAsInteger(HostDatabase.FIELD_HOST_PORT)); + host.setLastConnect(values.getAsLong(HostDatabase.FIELD_HOST_LASTCONNECT)); + host.setColor(values.getAsString(HostDatabase.FIELD_HOST_COLOR)); + host.setUseKeys(Boolean.valueOf(values.getAsString(HostDatabase.FIELD_HOST_USEKEYS))); + host.setUseAuthAgent(values.getAsString(HostDatabase.FIELD_HOST_USEAUTHAGENT)); + host.setPostLogin(values.getAsString(HostDatabase.FIELD_HOST_POSTLOGIN)); + host.setPubkeyId(values.getAsLong(HostDatabase.FIELD_HOST_PUBKEYID)); + host.setWantSession(Boolean.valueOf(values.getAsString(HostDatabase.FIELD_HOST_WANTSESSION))); + host.setDelKey(values.getAsString(HostDatabase.FIELD_HOST_DELKEY)); + host.setFontSize(values.getAsInteger(HostDatabase.FIELD_HOST_FONTSIZE)); + host.setCompression(Boolean.valueOf(values.getAsString(HostDatabase.FIELD_HOST_COMPRESSION))); + host.setEncoding(values.getAsString(HostDatabase.FIELD_HOST_ENCODING)); + host.setStayConnected(values.getAsBoolean(HostDatabase.FIELD_HOST_STAYCONNECTED)); + host.setQuickDisconnect(values.getAsBoolean(HostDatabase.FIELD_HOST_QUICKDISCONNECT)); + return host; + } + @Override public boolean equals(Object o) { if (o == null || !(o instanceof HostBean)) @@ -302,4 +329,38 @@ public class HostBean extends AbstractBean { return Uri.parse(sb.toString()); } + /** + * Generates a "pretty" string to be used in the quick-connect host edit view. + */ + @Override + public String toString() { + if (protocol == null) + return ""; + + int defaultPort = TransportFactory.getTransport(protocol).getDefaultPort(); + + if (SSH.getProtocolName().equals(protocol)) { + if (username == null || hostname == null || + username.equals("") || hostname.equals("")) + return ""; + + if (port == defaultPort) + return username + "@" + hostname; + else + return username + "@" + hostname + ":" + port; + } else if (Telnet.getProtocolName().equals(protocol)) { + if (hostname == null || hostname.equals("")) + return ""; + else if (port == defaultPort) + return hostname; + else + return hostname + ":" + port; + } else if (Local.getProtocolName().equals(protocol)) { + return nickname; + } + + // Fail gracefully. + return ""; + } + } |