Fix context used in BlockedNumberProvider.

Minor fixes to tests as well.

BUG: 26232372
Change-Id: I939d050f1f80f2aa2ede4f990c6a116a55baa119
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.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 @@
     }
 
     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 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.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 @@
     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 @@
         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 @@
      * 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 @@
                     /* cancellationSignal =*/ null);
         }
 
-        return getDbHelper().getWritableDatabase().delete(
+        return db.delete(
                 BlockedNumberDatabaseHelper.Tables.BLOCKED_NUMBERS,
                 selection, selectionArgs);
     }
@@ -260,7 +261,7 @@
         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 @@
                     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 @@
 # 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.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 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 @@
     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 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();