aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2009-06-12 08:19:51 +0000
committerKenny Root <kenny@the-b.org>2009-06-12 08:19:51 +0000
commitf9b4256306250973a04979848c8b7c968ed21c63 (patch)
treeab2756aa9250d38cda901d091d93ea7fbe2833ea /src
parentff7d12e9cf8fe9e7255e535c29be3aa46cc3e7bc (diff)
downloadconnectbot-f9b4256306250973a04979848c8b7c968ed21c63.tar.gz
connectbot-f9b4256306250973a04979848c8b7c968ed21c63.tar.bz2
connectbot-f9b4256306250973a04979848c8b7c968ed21c63.zip
Allow any character set encoding supported by the JVM
git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@282 df292f66-193f-0410-a5fc-6d59da041ff2
Diffstat (limited to 'src')
-rw-r--r--src/org/connectbot/HostEditorActivity.java19
-rw-r--r--src/org/connectbot/util/HostDatabase.java9
2 files changed, 23 insertions, 5 deletions
diff --git a/src/org/connectbot/HostEditorActivity.java b/src/org/connectbot/HostEditorActivity.java
index 308bee7..dcebbf8 100644
--- a/src/org/connectbot/HostEditorActivity.java
+++ b/src/org/connectbot/HostEditorActivity.java
@@ -18,11 +18,13 @@
package org.connectbot;
+import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import org.connectbot.util.HostDatabase;
import org.connectbot.util.PubkeyDatabase;
@@ -241,6 +243,23 @@ public class HostEditorActivity extends PreferenceActivity implements OnSharedPr
pubkeyIds.addAll(pubkeydb.allValues("_id"));
pubkeyPref.setEntryValues(pubkeyIds.toArray(new CharSequence[pubkeyIds.size()]));
+ // Populate the character set encoding list with all available
+ ListPreference charsetPref = (ListPreference) findPreference(HostDatabase.FIELD_HOST_ENCODING);
+
+ List<CharSequence> charsetIds = new LinkedList<CharSequence>();
+ List<CharSequence> charsetNames = new LinkedList<CharSequence>();
+
+ for (Entry<String, Charset> entry : Charset.availableCharsets().entrySet()) {
+ Charset c = entry.getValue();
+ if (c.canEncode() && c.isRegistered()) {
+ charsetIds.add(entry.getKey());
+ charsetNames.add(c.displayName());
+ }
+ }
+
+ charsetPref.setEntryValues(charsetIds.toArray(new CharSequence[charsetIds.size()]));
+ charsetPref.setEntries(charsetNames.toArray(new CharSequence[charsetNames.size()]));
+
this.updateSummaries();
}
diff --git a/src/org/connectbot/util/HostDatabase.java b/src/org/connectbot/util/HostDatabase.java
index b8f3860..6b1f666 100644
--- a/src/org/connectbot/util/HostDatabase.java
+++ b/src/org/connectbot/util/HostDatabase.java
@@ -18,6 +18,7 @@
package org.connectbot.util;
+import java.nio.charset.Charset;
import java.util.LinkedList;
import java.util.List;
@@ -80,9 +81,7 @@ public class HostDatabase extends SQLiteOpenHelper {
public final static String PORTFORWARD_DYNAMIC4 = "dynamic4";
public final static String PORTFORWARD_DYNAMIC5 = "dynamic5";
- public final static String ENCODING_ASCII = "ASCII";
- public final static String ENCODING_UTF8 = "UTF-8";
- public final static String ENCODING_ISO88591 = "ISO8859_1";
+ public final static String ENCODING_DEFAULT = Charset.defaultCharset().name();
public final static long PUBKEYID_NEVER = -2;
public final static long PUBKEYID_ANY = -1;
@@ -110,7 +109,7 @@ public class HostDatabase extends SQLiteOpenHelper {
+ FIELD_HOST_PUBKEYID + " INTEGER DEFAULT " + PUBKEYID_ANY + ", "
+ FIELD_HOST_WANTSESSION + " TEXT DEFAULT '" + Boolean.toString(true) + "', "
+ FIELD_HOST_COMPRESSION + " TEXT DEFAULT '" + Boolean.toString(false) + "', "
- + FIELD_HOST_ENCODING + " TEXT DEFAULT '" + ENCODING_ASCII + "')");
+ + FIELD_HOST_ENCODING + " TEXT DEFAULT '" + ENCODING_DEFAULT + "')");
// insert a few sample hosts, none of which probably connect
//this.createHost(db, "connectbot@bravo", "connectbot", "192.168.254.230", 22, COLOR_GRAY);
//this.createHost(db, "cron@server.example.com", "cron", "server.example.com", 22, COLOR_GRAY, PUBKEYID_ANY);
@@ -157,7 +156,7 @@ public class HostDatabase extends SQLiteOpenHelper {
+ " ADD COLUMN " + FIELD_HOST_COMPRESSION + " TEXT DEFAULT '" + Boolean.toString(false) + "'");
case 14:
db.execSQL("ALTER TABLE " + TABLE_HOSTS
- + " ADD COLUMN " + FIELD_HOST_ENCODING + " TEXT DEFAULT '" + ENCODING_ASCII + "'");
+ + " ADD COLUMN " + FIELD_HOST_ENCODING + " TEXT DEFAULT '" + ENCODING_DEFAULT + "'");
}
}