aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2011-08-13 16:45:15 -0700
committerKenny Root <kenny@the-b.org>2011-08-13 16:57:13 -0700
commit86c3a500a3451f43e707845f868917f24a4bdccd (patch)
treefcde04cd7bf4b25b000a9d15d8d04bec393291aa
parent96ca3bc984d2de318c51c42dc6dd82fd74979c8e (diff)
downloadconnectbot-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
-rw-r--r--src/org/connectbot/util/HostDatabase.java30
-rw-r--r--src/org/connectbot/util/UberColorPickerDialog.java4
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.