Refined the CardContentProvider unused operations

updated delete and update operations to throw UnsupportedOperationException

Bug: 119647595
Test: robotest
Change-Id: If77662213b89dc91b9ca2d6b028c635a46266eab
This commit is contained in:
Sunny Shao
2018-11-16 15:44:53 +08:00
parent 4fa2b88556
commit 8e5807fcc9
2 changed files with 4 additions and 82 deletions

View File

@@ -98,17 +98,7 @@ public class CardContentProvider extends ContentProvider {
@Override @Override
public int delete(Uri uri, String selection, String[] selectionArgs) { public int delete(Uri uri, String selection, String[] selectionArgs) {
final StrictMode.ThreadPolicy oldPolicy = StrictMode.getThreadPolicy(); throw new UnsupportedOperationException("delete operation not supported currently.");
try {
maybeEnableStrictMode();
final SQLiteDatabase database = mDBHelper.getWritableDatabase();
final String table = getTableFromMatch(uri);
final int rowsDeleted = database.delete(table, selection, selectionArgs);
getContext().getContentResolver().notifyChange(uri, null /* observer */);
return rowsDeleted;
} finally {
StrictMode.setThreadPolicy(oldPolicy);
}
} }
@Override @Override
@@ -140,18 +130,7 @@ public class CardContentProvider extends ContentProvider {
@Override @Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
final StrictMode.ThreadPolicy oldPolicy = StrictMode.getThreadPolicy(); throw new UnsupportedOperationException("update operation not supported currently.");
try {
maybeEnableStrictMode();
final SQLiteDatabase database = mDBHelper.getWritableDatabase();
final String table = getTableFromMatch(uri);
final int rowsUpdated = database.update(table, values, selection, selectionArgs);
getContext().getContentResolver().notifyChange(uri, null /* observer */);
return rowsUpdated;
} finally {
StrictMode.setThreadPolicy(oldPolicy);
}
} }
@VisibleForTesting @VisibleForTesting

View File

@@ -95,15 +95,12 @@ public class CardContentProviderTest {
assertThat(count).isGreaterThan(0); assertThat(count).isGreaterThan(0);
} }
@Test @Test(expected = UnsupportedOperationException.class)
public void cardData_delete() { public void cardData_delete() {
mResolver.insert(mUri, generateOneRow());
final int delCount = mResolver.delete(mUri, null, null); final int delCount = mResolver.delete(mUri, null, null);
assertThat(delCount).isGreaterThan(0);
} }
@Test @Test(expected = UnsupportedOperationException.class)
public void cardData_update() { public void cardData_update() {
mResolver.insert(mUri, generateOneRow()); mResolver.insert(mUri, generateOneRow());
@@ -113,16 +110,6 @@ public class CardContentProviderTest {
final String strWhere = CardDatabaseHelper.CardColumns.NAME + "=?"; final String strWhere = CardDatabaseHelper.CardColumns.NAME + "=?";
final String[] selectionArgs = {"auto_rotate"}; final String[] selectionArgs = {"auto_rotate"};
final int updateCount = mResolver.update(mUri, values, strWhere, selectionArgs); final int updateCount = mResolver.update(mUri, values, strWhere, selectionArgs);
assertThat(updateCount).isGreaterThan(0);
final String[] columns = {CardDatabaseHelper.CardColumns.SCORE};
final Cursor cr = mResolver.query(mUri, columns, strWhere, selectionArgs, null);
cr.moveToFirst();
final double qryScore = cr.getDouble(0);
cr.close();
assertThat(qryScore).isEqualTo(updatingScore);
} }
@Test @Test
@@ -145,28 +132,6 @@ public class CardContentProviderTest {
verify(mProvider).enableStrictMode(); verify(mProvider).enableStrictMode();
} }
@Test
public void delete_isMainThread_shouldEnableStrictMode() {
ShadowThreadUtils.setIsMainThread(true);
ReflectionHelpers.setStaticField(Build.class, "IS_DEBUGGABLE", true);
mProvider.delete(mUri, null, null);
verify(mProvider).enableStrictMode();
}
@Test
public void update_isMainThread_shouldEnableStrictMode() {
ShadowThreadUtils.setIsMainThread(true);
ReflectionHelpers.setStaticField(Build.class, "IS_DEBUGGABLE", true);
final ContentValues values = new ContentValues();
values.put(CardDatabaseHelper.CardColumns.SCORE, "0.01");
mProvider.update(mUri, values, null, null);
verify(mProvider).enableStrictMode();
}
@Test @Test
public void insert_notMainThread_shouldNotEnableStrictMode() { public void insert_notMainThread_shouldNotEnableStrictMode() {
ShadowThreadUtils.setIsMainThread(false); ShadowThreadUtils.setIsMainThread(false);
@@ -187,28 +152,6 @@ public class CardContentProviderTest {
verify(mProvider, never()).enableStrictMode(); verify(mProvider, never()).enableStrictMode();
} }
@Test
public void delete_notMainThread_shouldNotEnableStrictMode() {
ShadowThreadUtils.setIsMainThread(false);
ReflectionHelpers.setStaticField(Build.class, "IS_DEBUGGABLE", true);
mProvider.delete(mUri, null, null);
verify(mProvider, never()).enableStrictMode();
}
@Test
public void update_notMainThread_shouldNotEnableStrictMode() {
ShadowThreadUtils.setIsMainThread(false);
ReflectionHelpers.setStaticField(Build.class, "IS_DEBUGGABLE", true);
final ContentValues values = new ContentValues();
values.put(CardDatabaseHelper.CardColumns.SCORE, "0.01");
mProvider.update(mUri, values, null, null);
verify(mProvider, never()).enableStrictMode();
}
@Test(expected = UnsupportedOperationException.class) @Test(expected = UnsupportedOperationException.class)
public void getType_shouldCrash() { public void getType_shouldCrash() {
mProvider.getType(null); mProvider.getType(null);