diff options
author | Kenny Root <kenny@the-b.org> | 2009-12-28 21:36:18 +0000 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2009-12-28 21:36:18 +0000 |
commit | ad1c4ff1d42392103322496c1e427abfcc35ae03 (patch) | |
tree | 38e5799d542c42712914d91ca851054bf7cd988c /src | |
parent | 0065a4393f96105c6aac12e16949ab34380acc9f (diff) | |
download | connectbot-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.java | 2 | ||||
-rw-r--r-- | src/org/connectbot/transport/Local.java | 9 | ||||
-rw-r--r-- | src/org/connectbot/transport/SSH.java | 11 | ||||
-rw-r--r-- | src/org/connectbot/transport/Telnet.java | 11 | ||||
-rw-r--r-- | src/org/connectbot/transport/TransportFactory.java | 2 | ||||
-rw-r--r-- | src/org/connectbot/util/HostDatabase.java | 18 |
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) { |