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);