diff options
author | Abhijith Shastry <ashastry@google.com> | 2016-01-15 11:09:21 -0800 |
---|---|---|
committer | Abhijith Shastry <ashastry@google.com> | 2016-01-15 12:54:46 -0800 |
commit | 9f7cfe71be8d9b844b0423c283a923a090bc5d7c (patch) | |
tree | 52f7d37f964f938e762168e2542a9e052c6edc06 | |
parent | 28b6a0f277a997f5c117c3c5be3de604c7a38d12 (diff) | |
download | BlockedNumberProvider-9f7cfe71be8d9b844b0423c283a923a090bc5d7c.tar.gz |
Fix context used in BlockedNumberProvider.
Minor fixes to tests as well.
BUG: 26232372
Change-Id: I939d050f1f80f2aa2ede4f990c6a116a55baa119
5 files changed, 23 insertions, 33 deletions
diff --git a/src/com/android/providers/blockednumber/BlockedNumberDatabaseHelper.java b/src/com/android/providers/blockednumber/BlockedNumberDatabaseHelper.java index f3138fa..005c918 100644 --- a/src/com/android/providers/blockednumber/BlockedNumberDatabaseHelper.java +++ b/src/com/android/providers/blockednumber/BlockedNumberDatabaseHelper.java @@ -21,10 +21,9 @@ import android.database.sqlite.SQLiteOpenHelper; import android.provider.BlockedNumberContract.BlockedNumbers; import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.util.Preconditions; public class BlockedNumberDatabaseHelper { - private static final String TAG = BlockedNumberProvider.TAG; - private static final int DATABASE_VERSION = 1; private static final String DATABASE_NAME = "blockednumbers.db"; @@ -72,6 +71,7 @@ public class BlockedNumberDatabaseHelper { } private BlockedNumberDatabaseHelper(Context context, boolean instanceIsForTesting) { + Preconditions.checkNotNull(context); mContext = context; mOpenHelper = new OpenHelper(mContext, instanceIsForTesting ? null : DATABASE_NAME, null, DATABASE_VERSION); @@ -79,8 +79,9 @@ public class BlockedNumberDatabaseHelper { public static synchronized BlockedNumberDatabaseHelper getInstance(Context context) { if (sInstance == null) { - sInstance = new BlockedNumberDatabaseHelper(context.getApplicationContext(), - /* instanceIsForTesting =*/ false); + sInstance = new BlockedNumberDatabaseHelper( + context, + /* instanceIsForTesting = */ false); } return sInstance; } diff --git a/src/com/android/providers/blockednumber/BlockedNumberProvider.java b/src/com/android/providers/blockednumber/BlockedNumberProvider.java index 13e977c..72a0c93 100644 --- a/src/com/android/providers/blockednumber/BlockedNumberProvider.java +++ b/src/com/android/providers/blockednumber/BlockedNumberProvider.java @@ -30,6 +30,7 @@ import android.telecom.TelecomManager; import android.text.TextUtils; import android.util.Log; import com.android.common.content.ProjectionMap; +import com.android.internal.annotations.VisibleForTesting; import com.android.providers.blockednumber.BlockedNumberDatabaseHelper.Tables; /** @@ -64,15 +65,15 @@ public class BlockedNumberProvider extends ContentProvider { private static final String ID_SELECTION = BlockedNumberContract.BlockedNumbers.COLUMN_ID + "=?"; + @VisibleForTesting + protected BlockedNumberDatabaseHelper mDbHelper; + @Override public boolean onCreate() { + mDbHelper = BlockedNumberDatabaseHelper.getInstance(getContext()); return true; } - BlockedNumberDatabaseHelper getDbHelper() { - return BlockedNumberDatabaseHelper.getInstance(getContext()); - } - /** * TODO CTS: * - BLOCKED_LIST @@ -141,7 +142,7 @@ public class BlockedNumberProvider extends ContentProvider { cv.put(BlockedNumberContract.BlockedNumbers.COLUMN_E164_NUMBER, e164Number); // Then insert. - final long id = getDbHelper().getWritableDatabase().insertOrThrow( + final long id = mDbHelper.getWritableDatabase().insertOrThrow( BlockedNumberDatabaseHelper.Tables.BLOCKED_NUMBERS, null, cv); return ContentUris.withAppendedId(BlockedNumberContract.BlockedNumbers.CONTENT_URI, id); @@ -198,7 +199,7 @@ public class BlockedNumberProvider extends ContentProvider { * Implements the "blocked/" delete. */ private int deleteBlockedNumber(String selection, String[] selectionArgs) { - final SQLiteDatabase db = getDbHelper().getWritableDatabase(); + final SQLiteDatabase db = mDbHelper.getWritableDatabase(); // When selection is specified, compile it within (...) to detect SQL injection. if (!TextUtils.isEmpty(selection)) { @@ -207,7 +208,7 @@ public class BlockedNumberProvider extends ContentProvider { /* cancellationSignal =*/ null); } - return getDbHelper().getWritableDatabase().delete( + return db.delete( BlockedNumberDatabaseHelper.Tables.BLOCKED_NUMBERS, selection, selectionArgs); } @@ -260,7 +261,7 @@ public class BlockedNumberProvider extends ContentProvider { qb.setTables(BlockedNumberDatabaseHelper.Tables.BLOCKED_NUMBERS); qb.setProjectionMap(sBlockedNumberColumns); - return qb.query(getDbHelper().getReadableDatabase(), projection, selection, selectionArgs, + return qb.query(mDbHelper.getReadableDatabase(), projection, selection, selectionArgs, /* groupBy =*/ null, /* having =*/null, sortOrder, /* limit =*/ null, cancellationSignal); } @@ -306,7 +307,7 @@ public class BlockedNumberProvider extends ContentProvider { inStripped, inE164)); } - final Cursor c = getDbHelper().getReadableDatabase().rawQuery( + final Cursor c = mDbHelper.getReadableDatabase().rawQuery( "SELECT " + BlockedNumberContract.BlockedNumbers.COLUMN_ORIGINAL_NUMBER + "," + BlockedNumberContract.BlockedNumbers.COLUMN_STRIPPED_NUMBER + "," + diff --git a/tests/Android.mk b/tests/Android.mk index d85d7bb..8f500de 100644 --- a/tests/Android.mk +++ b/tests/Android.mk @@ -13,7 +13,7 @@ LOCAL_JAVA_LIBRARIES := android.test.runner # Only compile source java files in this apk. LOCAL_SRC_FILES := $(call all-java-files-under, src) -LOCAL_PACKAGE_NAME := BlockedNumberProviderTests +LOCAL_PACKAGE_NAME := BlockedNumberProviderTest LOCAL_INSTRUMENTATION_FOR := BlockedNumberProvider LOCAL_CERTIFICATE := shared diff --git a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java index 8ec71eb..fb9a81a 100644 --- a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java +++ b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java @@ -23,7 +23,6 @@ import android.database.Cursor; import android.database.sqlite.SQLiteConstraintException; import android.database.sqlite.SQLiteException; import android.net.Uri; -import android.os.Bundle; import android.provider.BlockedNumberContract; import android.provider.BlockedNumberContract.BlockedNumbers; import android.test.AndroidTestCase; @@ -31,11 +30,10 @@ import android.test.MoreAsserts; import junit.framework.Assert; /** - m BlockedNumberProviderTests && - adb install -r \ - ${ANDROID_PRODUCT_OUT}/data/app/BlockedNumberProviderTests/BlockedNumberProviderTests.apk && - adb shell am instrument -e class com.android.providers.blockednumber.BlockedNumberProviderTest \ - -w com.android.providers.blockednumber.tests/android.support.test.runner.AndroidJUnitRunner + * m BlockedNumberProviderTest && adb install -r + * ${ANDROID_PRODUCT_OUT}/data/app/BlockedNumberProviderTest/BlockedNumberProviderTest.apk && adb + * shell am instrument -e class com.android.providers.blockednumber.BlockedNumberProviderTest \ -w + * com.android.providers.blockednumber.tests/android.support.test.runner.AndroidJUnitRunner */ public class BlockedNumberProviderTest extends AndroidTestCase { private Context mRealTestContext; @@ -144,7 +142,7 @@ public class BlockedNumberProviderTest extends AndroidTestCase { private void insertExpectingFailure(ContentValues cv) { try { mResolver.insert( - BlockedNumbers.CONTENT_URI, cv()); + BlockedNumbers.CONTENT_URI, cv); fail(); } catch (IllegalArgumentException expected) { } @@ -206,8 +204,8 @@ public class BlockedNumberProviderTest extends AndroidTestCase { public void testIsBlocked() { // Prepare test data - Uri u1 = insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "123")); - Uri u2 = insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "+1.2-3")); + insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "123")); + insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "+1.2-3")); insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "+1-500-454-1111")); insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "1-500-454-2222")); diff --git a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTestable.java b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTestable.java index 3c95089..b67b1ab 100644 --- a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTestable.java +++ b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTestable.java @@ -16,23 +16,13 @@ package com.android.providers.blockednumber; public class BlockedNumberProviderTestable extends BlockedNumberProvider { - private BlockedNumberDatabaseHelper mDbHelper; - @Override public boolean onCreate() { - super.onCreate(); - mDbHelper = BlockedNumberDatabaseHelper.newInstanceForTest(getContext()); - return true; } @Override - BlockedNumberDatabaseHelper getDbHelper() { - return mDbHelper; - } - - @Override public void shutdown() { mDbHelper.getReadableDatabase().close(); |