diff options
-rw-r--r-- | AndroidManifest.xml | 3 | ||||
-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 |
7 files changed, 43 insertions, 13 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 6a33b01..df7d15c 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,7 +2,7 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.connectbot" android:versionName="1.7-dev" - android:versionCode="244"> + android:versionCode="245"> <application android:icon="@drawable/icon" @@ -38,6 +38,7 @@ <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="ssh" /> <data android:scheme="telnet" /> <data android:scheme="local" /> 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) { |