aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/org/connectbot/bean
diff options
context:
space:
mode:
authorKyle Horimoto <khorimoto@gmail.com>2015-09-18 12:22:29 -0700
committerKyle Horimoto <khorimoto@gmail.com>2015-09-25 11:23:36 -0700
commita9700a076d09989a5c6ae77888096e1ad5e4ffbf (patch)
treeaf73f204ad679a6988bd3e97e831aaa5a8a537ba /app/src/main/java/org/connectbot/bean
parentd88325b798d01a4584f551ea14ff072453ce603a (diff)
downloadconnectbot-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.java61
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 "";
+ }
+
}