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 + "'");  		}  	} | 
