Fixing ContactBrowserActivityTest

Change-Id: Ie492eae15c7163d0f8a3577e73ae14b786709a35
diff --git a/src/com/android/contacts/ContactsActivity.java b/src/com/android/contacts/ContactsActivity.java
index 913bc4c..90a975f 100644
--- a/src/com/android/contacts/ContactsActivity.java
+++ b/src/com/android/contacts/ContactsActivity.java
@@ -16,13 +16,32 @@
 
 package com.android.contacts;
 
+import com.android.contacts.test.InjectedServices;
+
 import android.app.Activity;
+import android.content.ContentResolver;
 
 /**
  * A common superclass for Contacts activities that handles application-wide services.
  */
 public abstract class ContactsActivity extends Activity {
 
+    private ContentResolver mContentResolver;
+
+    @Override
+    public ContentResolver getContentResolver() {
+        if (mContentResolver == null) {
+            InjectedServices services = ContactsApplication.getInjectedServices();
+            if (services != null) {
+                mContentResolver = services.getContentResolver();
+            }
+            if (mContentResolver == null) {
+                mContentResolver = super.getContentResolver();
+            }
+        }
+        return mContentResolver;
+    }
+
     @Override
     public Object getSystemService(String name) {
         Object service = super.getSystemService(name);
diff --git a/src/com/android/contacts/ContactsApplication.java b/src/com/android/contacts/ContactsApplication.java
index 268aa2f..288a3d7 100644
--- a/src/com/android/contacts/ContactsApplication.java
+++ b/src/com/android/contacts/ContactsApplication.java
@@ -37,6 +37,10 @@
         sInjectedServices = services;
     }
 
+    public static InjectedServices getInjectedServices() {
+        return sInjectedServices;
+    }
+
     @Override
     public ContentResolver getContentResolver() {
         if (sInjectedServices != null) {
diff --git a/src/com/android/contacts/activities/ActionBarAdapter.java b/src/com/android/contacts/activities/ActionBarAdapter.java
index f7ab405..8bdf405 100644
--- a/src/com/android/contacts/activities/ActionBarAdapter.java
+++ b/src/com/android/contacts/activities/ActionBarAdapter.java
@@ -24,7 +24,6 @@
 
 import android.app.ActionBar;
 import android.app.ActionBar.LayoutParams;
-import android.app.ActionBar.OnNavigationListener;
 import android.content.Context;
 import android.os.Bundle;
 import android.text.TextUtils;
@@ -78,12 +77,17 @@
             mQueryString = request.getQueryString();
         }
 
-        actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM, ActionBar.DISPLAY_SHOW_CUSTOM);
+        if (actionBar != null) {
+            actionBar.setDisplayOptions(
+                    ActionBar.DISPLAY_SHOW_CUSTOM, ActionBar.DISPLAY_SHOW_CUSTOM);
+        }
 
         mNavigationBar = LayoutInflater.from(mContext).inflate(R.layout.navigation_bar, null);
         LayoutParams layoutParams = new LayoutParams(
                 LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
-        actionBar.setCustomView(mNavigationBar, layoutParams);
+        if (actionBar != null) {
+            actionBar.setCustomView(mNavigationBar, layoutParams);
+        }
 
         mFilterView = (ContactListFilterView) mNavigationBar.findViewById(R.id.filter_view);
         mSearchLabel = (TextView) mNavigationBar.findViewById(R.id.search_label);