From a89321ea04ced76d06f60f5909be203cb654a830 Mon Sep 17 00:00:00 2001 From: Steve Howard Date: Tue, 3 Aug 2010 12:39:35 -0700 Subject: Fix and test handling of null/empty download fields. Minor change to make title/description default to blank stings, and add test case covering all null/empty download fields. Change-Id: Id44344bc2e464f46589faed49c8f383a45a8d329 --- src/com/android/providers/downloads/DownloadProvider.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/com/android/providers') diff --git a/src/com/android/providers/downloads/DownloadProvider.java b/src/com/android/providers/downloads/DownloadProvider.java index 4fcae227..f6b091b1 100644 --- a/src/com/android/providers/downloads/DownloadProvider.java +++ b/src/com/android/providers/downloads/DownloadProvider.java @@ -415,8 +415,8 @@ public final class DownloadProvider extends ContentProvider { if (Binder.getCallingUid() == 0) { copyInteger(Constants.UID, values, filteredValues); } - copyString(Downloads.Impl.COLUMN_TITLE, values, filteredValues); - copyString(Downloads.Impl.COLUMN_DESCRIPTION, values, filteredValues); + copyStringWithDefault(Downloads.Impl.COLUMN_TITLE, values, filteredValues, ""); + copyStringWithDefault(Downloads.Impl.COLUMN_DESCRIPTION, values, filteredValues, ""); filteredValues.put(Downloads.Impl.COLUMN_TOTAL_BYTES, -1); if (isPublicApi) { @@ -986,6 +986,14 @@ public final class DownloadProvider extends ContentProvider { } } + private static final void copyStringWithDefault(String key, ContentValues from, + ContentValues to, String defaultValue) { + copyString(key, from, to); + if (!to.containsKey(key)) { + to.put(key, defaultValue); + } + } + private class ReadOnlyCursorWrapper extends CursorWrapper implements CrossProcessCursor { public ReadOnlyCursorWrapper(Cursor cursor) { super(cursor); -- cgit v1.2.3