Always give ContentResolver a valid Context.

Also add MockContentResolver constructor to provide a Context, and
move to singleton ActivityThread, since there is only one inside
each process.  This makes ActivityThread accessible from threads like
InstrumentationThread.

Change-Id: Ib8b18f1b9bba8820ff412d782a43511066eabf24
diff --git a/test-runner/src/android/test/mock/MockContentResolver.java b/test-runner/src/android/test/mock/MockContentResolver.java
index 715da0f..aec6c77 100644
--- a/test-runner/src/android/test/mock/MockContentResolver.java
+++ b/test-runner/src/android/test/mock/MockContentResolver.java
@@ -54,12 +54,20 @@
 public class MockContentResolver extends ContentResolver {
     Map<String, ContentProvider> mProviders;
 
-    /*
-     * Creates a local map of providers. This map is used instead of the global map when an
-     * API call tries to acquire a provider.
+    /**
+     * Creates a local map of providers. This map is used instead of the global
+     * map when an API call tries to acquire a provider.
      */
     public MockContentResolver() {
-        super(null);
+        this(null);
+    }
+
+    /**
+     * Creates a local map of providers. This map is used instead of the global
+     * map when an API call tries to acquire a provider.
+     */
+    public MockContentResolver(Context context) {
+        super(context);
         mProviders = Maps.newHashMap();
     }