diff options
| author | Michael Wright <michaelwr@google.com> | 2017-01-18 18:12:53 +0000 |
|---|---|---|
| committer | Michael Wright <michaelwr@google.com> | 2017-01-19 16:19:28 +0000 |
| commit | 794cf190aa38dffdad9e82fc86dbd94940b175b1 (patch) | |
| tree | cb8247ae67ead35b99206e4c16213ad70926f114 /core/java/android/database/DatabaseUtils.java | |
| parent | 7a1f1d8a8579278048c044b7aca5d0d58ece57e4 (diff) | |
Also parse "1" as true for ContentValues#getAsBoolean
SQLite's internal representation for booleans is an integer with a value
of 0 or 1, so without this check, boolean values obtained via
DatabaseUtils#cursorRowToContentValues will always return false.
Bug: 34365384
Test: demo app, cts
Change-Id: I6c0829c992252ca5ee16bd5eac48668507fd4089
Diffstat (limited to 'core/java/android/database/DatabaseUtils.java')
| -rw-r--r-- | core/java/android/database/DatabaseUtils.java | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/core/java/android/database/DatabaseUtils.java b/core/java/android/database/DatabaseUtils.java index 227066ddc571..8cd3d7b5bc68 100644 --- a/core/java/android/database/DatabaseUtils.java +++ b/core/java/android/database/DatabaseUtils.java @@ -728,13 +728,10 @@ public class DatabaseUtils { * @param values the {@link ContentValues} to put the row into. */ public static void cursorRowToContentValues(Cursor cursor, ContentValues values) { - AbstractWindowedCursor awc = - (cursor instanceof AbstractWindowedCursor) ? (AbstractWindowedCursor) cursor : null; - String[] columns = cursor.getColumnNames(); int length = columns.length; for (int i = 0; i < length; i++) { - if (awc != null && awc.isBlob(i)) { + if (cursor.getType(i) == Cursor.FIELD_TYPE_BLOB) { values.put(columns[i], cursor.getBlob(i)); } else { values.put(columns[i], cursor.getString(i)); |
