Skip to content
This repository was archived by the owner on Feb 11, 2022. It is now read-only.

Commit e1d5273

Browse files
author
Eduard Bolos
committed
Fix incorrect behavior of update in content provider implementation
1 parent 360e1ec commit e1d5273

1 file changed

Lines changed: 4 additions & 7 deletions

File tree

core/src/main/java/novoda/lib/sqliteprovider/provider/SQLiteContentProviderImpl.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import android.content.Context;
66
import android.database.Cursor;
77
import android.database.DatabaseUtils;
8-
import android.database.SQLException;
98
import android.database.sqlite.SQLiteDatabase;
109
import android.database.sqlite.SQLiteOpenHelper;
1110
import android.net.Uri;
@@ -96,14 +95,12 @@ private Uri insertSilently(Uri uri, ContentValues values) {
9695
protected int updateInTransaction(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
9796
ContentValues insertValues = (values != null) ? new ContentValues(values) : new ContentValues();
9897

99-
int rowId = getWritableDatabase().update(UriUtils.getItemDirID(uri), insertValues, selection, selectionArgs);
98+
int rowsAffected = getWritableDatabase().update(UriUtils.getItemDirID(uri), insertValues, selection, selectionArgs);
10099

101-
if (rowId > 0) {
102-
Uri insertUri = ContentUris.withAppendedId(uri, rowId);
103-
notifyUriChange(insertUri);
104-
return rowId;
100+
if (rowsAffected > 0) {
101+
notifyUriChange(uri);
105102
}
106-
throw new SQLException("Failed to update row into " + uri + " because it does not exists.");
103+
return rowsAffected;
107104
}
108105

109106
@Override

0 commit comments

Comments
 (0)