diff options
author | Kenny Root <kenny@the-b.org> | 2011-08-13 16:45:15 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2011-08-13 16:57:13 -0700 |
commit | 86c3a500a3451f43e707845f868917f24a4bdccd (patch) | |
tree | fcde04cd7bf4b25b000a9d15d8d04bec393291aa /src | |
parent | 96ca3bc984d2de318c51c42dc6dd82fd74979c8e (diff) | |
download | connectbot-86c3a500a3451f43e707845f868917f24a4bdccd.tar.gz connectbot-86c3a500a3451f43e707845f868917f24a4bdccd.tar.bz2 connectbot-86c3a500a3451f43e707845f868917f24a4bdccd.zip |
Fix color picker
We weren't entering the correct values into the database (missing the
scheme).
Fixes issue 290
Diffstat (limited to 'src')
-rw-r--r-- | src/org/connectbot/util/HostDatabase.java | 30 | ||||
-rw-r--r-- | src/org/connectbot/util/UberColorPickerDialog.java | 4 |
2 files changed, 14 insertions, 20 deletions
diff --git a/src/org/connectbot/util/HostDatabase.java b/src/org/connectbot/util/HostDatabase.java index d195f72..2a92bab 100644 --- a/src/org/connectbot/util/HostDatabase.java +++ b/src/org/connectbot/util/HostDatabase.java @@ -124,6 +124,9 @@ public class HostDatabase extends RobustSQLiteOpenHelper { "CREATE INDEX " + TABLE_COLOR_DEFAULTS + FIELD_COLOR_SCHEME + "index ON " + TABLE_COLOR_DEFAULTS + " (" + FIELD_COLOR_SCHEME + ");"; + private static final String WHERE_SCHEME_AND_COLOR = FIELD_COLOR_SCHEME + " = ? AND " + + FIELD_COLOR_NUMBER + " = ?"; + static { addTableName(TABLE_HOSTS); addTableName(TABLE_PORTFORWARDS); @@ -674,39 +677,30 @@ public class HostDatabase extends RobustSQLiteOpenHelper { } public void setColorForScheme(int scheme, int number, int value) { - SQLiteDatabase db; + final SQLiteDatabase db; - String schemeWhere; - schemeWhere = FIELD_COLOR_SCHEME + " = ?"; + final String[] whereArgs = new String[] { String.valueOf(scheme), String.valueOf(number) }; if (value == Colors.defaults[number]) { - String[] whereArgs = new String[1]; - - whereArgs[0] = String.valueOf(number); - synchronized (dbLock) { db = getWritableDatabase(); db.delete(TABLE_COLORS, - FIELD_COLOR_NUMBER + " = ? AND " - + schemeWhere, - new String[] { String.valueOf(number) }); + WHERE_SCHEME_AND_COLOR, whereArgs); } } else { - ContentValues values = new ContentValues(); - values.put(FIELD_COLOR_NUMBER, number); + final ContentValues values = new ContentValues(); values.put(FIELD_COLOR_VALUE, value); - String[] whereArgs = null; - - whereArgs = new String[] { String.valueOf(scheme) }; - synchronized (dbLock) { db = getWritableDatabase(); - int rowsAffected = db.update(TABLE_COLORS, values, - schemeWhere, whereArgs); + + final int rowsAffected = db.update(TABLE_COLORS, values, + WHERE_SCHEME_AND_COLOR, whereArgs); if (rowsAffected == 0) { + values.put(FIELD_COLOR_SCHEME, scheme); + values.put(FIELD_COLOR_NUMBER, number); db.insert(TABLE_COLORS, null, values); } } diff --git a/src/org/connectbot/util/UberColorPickerDialog.java b/src/org/connectbot/util/UberColorPickerDialog.java index e12307e..2c01b30 100644 --- a/src/org/connectbot/util/UberColorPickerDialog.java +++ b/src/org/connectbot/util/UberColorPickerDialog.java @@ -65,8 +65,8 @@ import android.view.View; * @author Keith Wiley, kwiley@keithwiley.com, http://keithwiley.com */ public class UberColorPickerDialog extends Dialog { - private OnColorChangedListener mListener; - private int mInitialColor; + private final OnColorChangedListener mListener; + private final int mInitialColor; /** * Callback to the creator of the dialog, informing the creator of a new color and notifying that the dialog is about to dismiss. |