shadows/framework/src/main/java/org/robolectric/shadows/ShadowContentResolver.java
@Implementation
  protected int update(Uri uri, ContentValues values, String where, String[] selectionArgs) {
    ContentProvider provider = getProvider(uri);
    ContentValues valuesCopy = (values == null) ? null : new ContentValues(values);
    UpdateStatement updateStatement =
        new UpdateStatement(uri, provider, valuesCopy, where, selectionArgs);
    statements.add(updateStatement);
    updateStatements.add(updateStatement);

    if (provider != null) {
      return provider.update(uri, values, where, selectionArgs);
    } else {
      return 1;
    }
  }
@Implementation
  protected int update(Uri uri, ContentValues values, String where, String[] selectionArgs) {
    ContentProvider provider = getProvider(uri);
    ContentValues valuesCopy = (values == null) ? null : new ContentValues(values);
    UpdateStatement updateStatement =
        new UpdateStatement(uri, provider, valuesCopy, where, selectionArgs);
    statements.add(updateStatement);
    updateStatements.add(updateStatement);

    if (provider != null) {
      return provider.update(uri, values, where, selectionArgs);
    } else {
      return 1;
    }
  }
If a {@link ContentProvider} is registered for the given {@link Uri}, its
{@link ContentProvider#update(Uri, ContentValues, String, String[])} method will be invoked.

Tests can verify that this method was called using {@link #getStatements()} or
{@link #getUpdateStatements()}.

@return If no appropriate {@link ContentProvider} is found, no action will be taken and 1 will
be returned.