Sigh, some apps are sending null ContentValues.
Bug: 21560515
Change-Id: Id5a62611781a2d9da47ad3e522d3d43f860b1f70
diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java
index d478f4a..494f821 100644
--- a/core/java/android/content/ContentProvider.java
+++ b/core/java/android/content/ContentProvider.java
@@ -1072,7 +1072,7 @@
* 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 @@
* @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 bccd144..057001c 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -1218,10 +1218,8 @@
* 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 @@
* @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);