aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2009-12-28 21:36:18 +0000
committerKenny Root <kenny@the-b.org>2009-12-28 21:36:18 +0000
commitad1c4ff1d42392103322496c1e427abfcc35ae03 (patch)
tree38e5799d542c42712914d91ca851054bf7cd988c /src
parent0065a4393f96105c6aac12e16949ab34380acc9f (diff)
downloadconnectbot-ad1c4ff1d42392103322496c1e427abfcc35ae03.tar.gz
connectbot-ad1c4ff1d42392103322496c1e427abfcc35ae03.tar.bz2
connectbot-ad1c4ff1d42392103322496c1e427abfcc35ae03.zip
Allow browsable URIs for ssh, telnet, local
git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@465 df292f66-193f-0410-a5fc-6d59da041ff2
Diffstat (limited to 'src')
-rw-r--r--src/org/connectbot/ConsoleActivity.java2
-rw-r--r--src/org/connectbot/transport/Local.java9
-rw-r--r--src/org/connectbot/transport/SSH.java11
-rw-r--r--src/org/connectbot/transport/Telnet.java11
-rw-r--r--src/org/connectbot/transport/TransportFactory.java2
-rw-r--r--src/org/connectbot/util/HostDatabase.java18
6 files changed, 41 insertions, 12 deletions
diff --git a/src/org/connectbot/ConsoleActivity.java b/src/org/connectbot/ConsoleActivity.java
index 803b84b..066cc32 100644
--- a/src/org/connectbot/ConsoleActivity.java
+++ b/src/org/connectbot/ConsoleActivity.java
@@ -185,7 +185,7 @@ public class ConsoleActivity extends Activity {
flip.addView(view);
// check to see if this bridge was requested
- if(bridge.host.getNickname().equals(requestedNickname))
+ if (bridge.host.getNickname().equals(requestedNickname))
requestedIndex = flip.getChildCount() - 1;
}
diff --git a/src/org/connectbot/transport/Local.java b/src/org/connectbot/transport/Local.java
index 915e471..8033873 100644
--- a/src/org/connectbot/transport/Local.java
+++ b/src/org/connectbot/transport/Local.java
@@ -188,7 +188,14 @@ public class Local extends AbsTransport {
HostBean host = new HostBean();
host.setProtocol(PROTOCOL);
- host.setNickname(uri.getFragment());
+
+ String nickname = uri.getFragment();
+ if (nickname == null || nickname.length() == 0) {
+ host.setNickname(getDefaultNickname(host.getUsername(),
+ host.getHostname(), host.getPort()));
+ } else {
+ host.setNickname(uri.getFragment());
+ }
return host;
}
diff --git a/src/org/connectbot/transport/SSH.java b/src/org/connectbot/transport/SSH.java
index 7dd101c..cc2af9b 100644
--- a/src/org/connectbot/transport/SSH.java
+++ b/src/org/connectbot/transport/SSH.java
@@ -807,15 +807,24 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
HostBean host = new HostBean();
host.setProtocol(PROTOCOL);
- host.setNickname(uri.getFragment());
+
host.setHostname(uri.getHost());
int port = uri.getPort();
if (port < 0)
port = DEFAULT_PORT;
host.setPort(port);
+
host.setUsername(uri.getUserInfo());
+ String nickname = uri.getFragment();
+ if (nickname == null || nickname.length() == 0) {
+ host.setNickname(getDefaultNickname(host.getUsername(),
+ host.getHostname(), host.getPort()));
+ } else {
+ host.setNickname(uri.getFragment());
+ }
+
return host;
}
diff --git a/src/org/connectbot/transport/Telnet.java b/src/org/connectbot/transport/Telnet.java
index 05f31b6..8772b90 100644
--- a/src/org/connectbot/transport/Telnet.java
+++ b/src/org/connectbot/transport/Telnet.java
@@ -284,13 +284,22 @@ public class Telnet extends AbsTransport {
HostBean host = new HostBean();
host.setProtocol(PROTOCOL);
- host.setNickname(uri.getFragment());
+
host.setHostname(uri.getHost());
+
int port = uri.getPort();
if (port < 0)
port = DEFAULT_PORT;
host.setPort(port);
+ String nickname = uri.getFragment();
+ if (nickname == null || nickname.length() == 0) {
+ host.setNickname(getDefaultNickname(host.getUsername(),
+ host.getHostname(), host.getPort()));
+ } else {
+ host.setNickname(uri.getFragment());
+ }
+
return host;
}
diff --git a/src/org/connectbot/transport/TransportFactory.java b/src/org/connectbot/transport/TransportFactory.java
index 991829d..fe37926 100644
--- a/src/org/connectbot/transport/TransportFactory.java
+++ b/src/org/connectbot/transport/TransportFactory.java
@@ -128,6 +128,6 @@ public class TransportFactory {
throw new IllegalStateException("Failed to get needed selection arguments");
}
- return hostdb.findHost(selection);
+ return hostdb.findHost(selection);
}
}
diff --git a/src/org/connectbot/util/HostDatabase.java b/src/org/connectbot/util/HostDatabase.java
index ce0eceb..374c146 100644
--- a/src/org/connectbot/util/HostDatabase.java
+++ b/src/org/connectbot/util/HostDatabase.java
@@ -305,11 +305,8 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
*/
public boolean updateFontSize(HostBean host) {
long id = host.getId();
- if (id < 0) {
- Log.e(TAG, "Attempting to update host without ID!",
- new IllegalArgumentException());
+ if (id < 0)
return false;
- }
ContentValues updates = new ContentValues();
updates.put(FIELD_HOST_FONTSIZE, host.getFontSize());
@@ -447,20 +444,27 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
Iterator<Entry<String, String>> i = selection.entrySet().iterator();
- String[] selectionValues = new String[selection.size()];
+ List<String> selectionValuesList = new LinkedList<String>();
int n = 0;
while (i.hasNext()) {
Entry<String, String> entry = i.next();
- if (n > 0)
+ if (entry.getValue() == null)
+ continue;
+
+ if (n++ > 0)
selectionBuilder.append(" AND ");
selectionBuilder.append(entry.getKey())
.append(" = ?");
- selectionValues[n++] = entry.getValue();
+ selectionValuesList.add(entry.getValue());
}
+ String selectionValues[] = new String[selectionValuesList.size()];
+ selectionValuesList.toArray(selectionValues);
+ selectionValuesList = null;
+
HostBean host;
synchronized (dbLock) {