aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2009-12-23 18:33:09 +0000
committerKenny Root <kenny@the-b.org>2009-12-23 18:33:09 +0000
commit0065a4393f96105c6aac12e16949ab34380acc9f (patch)
treeb7f4042e709f486119c8be4c17e72b0989fc69e8
parent931d943bf83ad34cd0ea0a40c6abc4d7e8c72f73 (diff)
downloadconnectbot-0065a4393f96105c6aac12e16949ab34380acc9f.tar.gz
connectbot-0065a4393f96105c6aac12e16949ab34380acc9f.tar.bz2
connectbot-0065a4393f96105c6aac12e16949ab34380acc9f.zip
Fix some bugs with default color updates
git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@462 df292f66-193f-0410-a5fc-6d59da041ff2
-rw-r--r--AndroidManifest.xml2
-rw-r--r--src/org/connectbot/util/HostDatabase.java92
2 files changed, 33 insertions, 61 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index be2541c..6a33b01 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="243">
+ android:versionCode="244">
<application
android:icon="@drawable/icon"
diff --git a/src/org/connectbot/util/HostDatabase.java b/src/org/connectbot/util/HostDatabase.java
index ad59c0f..ce0eceb 100644
--- a/src/org/connectbot/util/HostDatabase.java
+++ b/src/org/connectbot/util/HostDatabase.java
@@ -48,7 +48,7 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
public final static String TAG = "ConnectBot.HostDatabase";
public final static String DB_NAME = "hosts";
- public final static int DB_VERSION = 21;
+ public final static int DB_VERSION = 22;
public final static String TABLE_HOSTS = "hosts";
public final static String FIELD_HOST_NICKNAME = "nickname";
@@ -115,6 +115,16 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
public static final int DEFAULT_COLOR_SCHEME = 0;
+ // Table creation strings
+ public static final String CREATE_TABLE_COLOR_DEFAULTS =
+ "CREATE TABLE " + TABLE_COLOR_DEFAULTS
+ + " (" + FIELD_COLOR_SCHEME + " INTEGER NOT NULL, "
+ + FIELD_COLOR_FG + " INTEGER NOT NULL DEFAULT " + DEFAULT_FG_COLOR + ", "
+ + FIELD_COLOR_BG + " INTEGER NOT NULL DEFAULT " + DEFAULT_BG_COLOR + ")";
+ public static final String CREATE_TABLE_COLOR_DEFAULTS_INDEX =
+ "CREATE INDEX " + TABLE_COLOR_DEFAULTS + FIELD_COLOR_SCHEME + "index ON "
+ + TABLE_COLOR_DEFAULTS + " (" + FIELD_COLOR_SCHEME + ");";
+
static {
addTableName(TABLE_HOSTS);
addTableName(TABLE_PORTFORWARDS);
@@ -182,14 +192,8 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
db.execSQL("CREATE INDEX " + TABLE_COLORS + FIELD_COLOR_SCHEME + "index ON "
+ TABLE_COLORS + " (" + FIELD_COLOR_SCHEME + ");");
- db.execSQL("CREATE TABLE " + TABLE_COLOR_DEFAULTS
- + " (_id INTEGER PRIMARY KEY, "
- + FIELD_COLOR_SCHEME + " INTEGER, "
- + FIELD_COLOR_FG + " INTEGER, "
- + FIELD_COLOR_BG + " INTEGER)");
-
- db.execSQL("CREATE INDEX " + TABLE_COLOR_DEFAULTS + FIELD_COLOR_SCHEME + "index ON "
- + TABLE_COLOR_DEFAULTS + " (" + FIELD_COLOR_SCHEME + ");");
+ db.execSQL(CREATE_TABLE_COLOR_DEFAULTS);
+ db.execSQL(CREATE_TABLE_COLOR_DEFAULTS_INDEX);
}
@Override
@@ -242,14 +246,6 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
+ FIELD_COLOR_SCHEME + " INTEGER)");
db.execSQL("CREATE INDEX " + TABLE_COLORS + FIELD_COLOR_SCHEME + "index ON "
+ TABLE_COLORS + " (" + FIELD_COLOR_SCHEME + ");");
-
- db.execSQL("CREATE TABLE " + TABLE_COLOR_DEFAULTS
- + " (_id INTEGER PRIMARY KEY, "
- + FIELD_COLOR_SCHEME + " INTEGER, "
- + FIELD_COLOR_FG + " INTEGER, "
- + FIELD_COLOR_BG + " INTEGER)");
- db.execSQL("CREATE INDEX " + TABLE_COLOR_DEFAULTS + FIELD_COLOR_SCHEME + "index ON "
- + TABLE_COLOR_DEFAULTS + " (" + FIELD_COLOR_SCHEME + ");");
case 18:
db.execSQL("ALTER TABLE " + TABLE_HOSTS
+ " ADD COLUMN " + FIELD_HOST_USEAUTHAGENT + " TEXT DEFAULT '" + AUTHAGENT_NO + "'");
@@ -259,6 +255,10 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
case 20:
db.execSQL("ALTER TABLE " + TABLE_HOSTS
+ " ADD COLUMN " + FIELD_HOST_FONTSIZE + " INTEGER");
+ case 21:
+ db.execSQL("DROP TABLE " + TABLE_COLOR_DEFAULTS);
+ db.execSQL(CREATE_TABLE_COLOR_DEFAULTS);
+ db.execSQL(CREATE_TABLE_COLOR_DEFAULTS_INDEX);
}
}
@@ -749,8 +749,9 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
Cursor c = db.query(TABLE_COLOR_DEFAULTS,
new String[] { FIELD_COLOR_FG, FIELD_COLOR_BG },
- FIELD_COLOR_SCHEME + " IS NULL",
- null, null, null, null);
+ FIELD_COLOR_SCHEME + " = ?",
+ new String[] { String.valueOf(scheme) },
+ null, null, null);
if (c.moveToFirst()) {
colors[0] = c.getInt(0);
@@ -759,22 +760,6 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
c.close();
- // TODO This could probably just be a join
- if (scheme != DEFAULT_COLOR_SCHEME) {
- c = db.query(TABLE_COLOR_DEFAULTS,
- new String[] { FIELD_COLOR_FG, FIELD_COLOR_BG },
- FIELD_COLOR_SCHEME + " = ?",
- new String[] { String.valueOf(scheme) },
- null, null, null);
-
- if (c.moveToFirst()) {
- colors[0] = c.getInt(0);
- colors[1] = c.getInt(1);
- }
-
- c.close();
- }
-
db.close();
}
@@ -786,8 +771,6 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
}
public void setDefaultColorsForScheme(int scheme, int fg, int bg) {
- int[] defaultColors = getGlobalDefaultColors();
-
SQLiteDatabase db;
String schemeWhere = null;
@@ -796,33 +779,22 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
schemeWhere = FIELD_COLOR_SCHEME + " = ?";
whereArgs = new String[] { String.valueOf(scheme) };
- if (fg == defaultColors[0] && bg == defaultColors[1]) {
- synchronized (dbLock) {
- db = getWritableDatabase();
-
- db.delete(TABLE_COLOR_DEFAULTS,
- schemeWhere,
- whereArgs);
-
- db.close();
- }
- } else {
- ContentValues values = new ContentValues();
- values.put(FIELD_COLOR_FG, fg);
- values.put(FIELD_COLOR_BG, bg);
-
- synchronized (dbLock) {
- db = getWritableDatabase();
+ ContentValues values = new ContentValues();
+ values.put(FIELD_COLOR_FG, fg);
+ values.put(FIELD_COLOR_BG, bg);
- int rowsAffected = db.update(TABLE_COLOR_DEFAULTS, values,
- schemeWhere, whereArgs);
+ synchronized (dbLock) {
+ db = getWritableDatabase();
- if (rowsAffected == 0) {
- db.insert(TABLE_COLOR_DEFAULTS, null, values);
- }
+ int rowsAffected = db.update(TABLE_COLOR_DEFAULTS, values,
+ schemeWhere, whereArgs);
- db.close();
+ if (rowsAffected == 0) {
+ values.put(FIELD_COLOR_SCHEME, scheme);
+ db.insert(TABLE_COLOR_DEFAULTS, null, values);
}
+
+ db.close();
}
}
}