From 34796bd07f871bc762d8ebd55cfbb80fcff4aeca Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Thu, 11 Jun 2015 21:55:32 -0700 Subject: Sigh, some apps are sending null ContentValues. Bug: 21560515 Change-Id: Id5a62611781a2d9da47ad3e522d3d43f860b1f70 --- core/java/android/content/ContentProvider.java | 4 ++-- core/java/android/content/ContentResolver.java | 7 ++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java index d478f4a6150e..494f82105fce 100644 --- a/core/java/android/content/ContentProvider.java +++ b/core/java/android/content/ContentProvider.java @@ -1072,7 +1072,7 @@ public abstract class ContentProvider implements ComponentCallbacks2 { * This must not be {@code null}. * @return The URI for the newly inserted item. */ - public abstract @Nullable Uri insert(@NonNull Uri uri, @NonNull ContentValues values); + public abstract @Nullable Uri insert(@NonNull Uri uri, @Nullable ContentValues values); /** * Override this to handle requests to insert a set of new rows, or the @@ -1137,7 +1137,7 @@ public abstract class ContentProvider implements ComponentCallbacks2 { * @param selection An optional filter to match rows to update. * @return the number of rows affected. */ - public abstract int update(@NonNull Uri uri, @NonNull ContentValues values, + public abstract int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection, @Nullable String[] selectionArgs); /** diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java index bccd144f2f6c..057001ca3ff3 100644 --- a/core/java/android/content/ContentResolver.java +++ b/core/java/android/content/ContentResolver.java @@ -1218,10 +1218,8 @@ public abstract class ContentResolver { * the field. Passing an empty ContentValues will create an empty row. * @return the URL of the newly created row. */ - public final @Nullable Uri insert(@NonNull Uri url, @NonNull ContentValues values) { + public final @Nullable Uri insert(@NonNull Uri url, @Nullable ContentValues values) { Preconditions.checkNotNull(url, "url"); - Preconditions.checkNotNull(values, "values"); - IContentProvider provider = acquireProvider(url); if (provider == null) { throw new IllegalArgumentException("Unknown URL " + url); @@ -1350,10 +1348,9 @@ public abstract class ContentResolver { * @return the number of rows updated. * @throws NullPointerException if uri or values are null */ - public final int update(@NonNull Uri uri, @NonNull ContentValues values, + public final int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String where, @Nullable String[] selectionArgs) { Preconditions.checkNotNull(uri, "uri"); - Preconditions.checkNotNull(values, "values"); IContentProvider provider = acquireProvider(uri); if (provider == null) { throw new IllegalArgumentException("Unknown URI " + uri); -- cgit v1.2.3-59-g8ed1b