summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteve Howard <showard@google.com>2010-08-03 12:39:35 -0700
committerSteve Howard <showard@google.com>2010-08-18 09:04:11 -0700
commita89321ea04ced76d06f60f5909be203cb654a830 (patch)
treebc5dae79a256caeeab9c6b0a7d64c1b67cdb1555 /src
parentadb6887d3270d180c94eaf90878d5b67d74a8f28 (diff)
downloadandroid_packages_providers_DownloadProvider-a89321ea04ced76d06f60f5909be203cb654a830.tar.gz
android_packages_providers_DownloadProvider-a89321ea04ced76d06f60f5909be203cb654a830.tar.bz2
android_packages_providers_DownloadProvider-a89321ea04ced76d06f60f5909be203cb654a830.zip
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
Diffstat (limited to 'src')
-rw-r--r--src/com/android/providers/downloads/DownloadProvider.java12
1 files changed, 10 insertions, 2 deletions
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);