diff options
author | Kenny Root <kenny@the-b.org> | 2009-06-12 08:19:51 +0000 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2009-06-12 08:19:51 +0000 |
commit | f9b4256306250973a04979848c8b7c968ed21c63 (patch) | |
tree | ab2756aa9250d38cda901d091d93ea7fbe2833ea /src | |
parent | ff7d12e9cf8fe9e7255e535c29be3aa46cc3e7bc (diff) | |
download | connectbot-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.java | 19 | ||||
-rw-r--r-- | src/org/connectbot/util/HostDatabase.java | 9 |
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 + "'"); } } |