aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml3
-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
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) {