Merge cleanup
diff --git a/robolectric/src/main/java/org/robolectric/android/internal/ParallelUniverse.java b/robolectric/src/main/java/org/robolectric/android/internal/ParallelUniverse.java
index 1e2a000..8641580 100644
--- a/robolectric/src/main/java/org/robolectric/android/internal/ParallelUniverse.java
+++ b/robolectric/src/main/java/org/robolectric/android/internal/ParallelUniverse.java
@@ -19,6 +19,7 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.util.DisplayMetrics;
+import com.google.common.annotations.VisibleForTesting;
 import java.lang.reflect.Method;
 import java.security.Security;
 import java.util.Locale;
@@ -26,7 +27,6 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.TestLifecycle;
-import org.robolectric.android.ApplicationTestUtil;
 import org.robolectric.android.Bootstrap;
 import org.robolectric.android.fakes.RoboInstrumentation;
 import org.robolectric.annotation.Config;
@@ -160,7 +160,15 @@
     Context systemContextImpl = ReflectionHelpers.callStaticMethod(contextImplClass, "createSystemContext", ClassParameter.from(ActivityThread.class, activityThread));
     RuntimeEnvironment.systemContext = systemContextImpl;
 
-    final Application application = (Application) testLifecycle.createApplication(method, appManifest, config);
+    Application app;
+    try {
+      app = (Application) testLifecycle.createApplication(method, appManifest, config);
+      System.out.println("*** TestLifecycle.createApplication() is a deprecated interface and will be removed in Robolectric 3.7;" +
+          "*** please refactor your tests and remove " + testLifecycle.getClass().getName() + ".");
+    } catch (Exception e) {
+      app = createApplication(appManifest, config);
+    }
+    Application application = app;
     RuntimeEnvironment.application = application;
 
     if (application != null) {
@@ -183,7 +191,7 @@
         Context contextImpl = systemContextImpl.createPackageContext(applicationInfo.packageName, Context.CONTEXT_INCLUDE_CODE);
         shadowOf(contextImpl.getPackageManager()).addPackage(parsedPackage);
         ReflectionHelpers.setField(ActivityThread.class, activityThread, "mInitialApplication", application);
-        ApplicationTestUtil.attach(application, contextImpl);
+        shadowOf(application).callAttach(contextImpl);
       } catch (PackageManager.NameNotFoundException e) {
         throw new RuntimeException(e);
       }
@@ -246,7 +254,6 @@
       return applicationName.substring(0, lastDot) + ".Test" + applicationName.substring(lastDot + 1);
     } else {
       return "Test" + applicationName;
-
     }
   }
 
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowContentResolverTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowContentResolverTest.java
index ccf8581..b2c3218 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowContentResolverTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowContentResolverTest.java
@@ -9,6 +9,7 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.robolectric.Shadows.shadowOf;
+import static org.robolectric.annotation.Config.NONE;
 
 import android.accounts.Account;
 import android.app.Application;
@@ -707,9 +708,10 @@
   }
 
   @Test
+  @Config(manifest = NONE)
   public void getProvider_shouldNotReturnAnyProviderWhenManifestIsNull() {
-    Application application = new DefaultTestLifecycle().createApplication(null, null, null);
-    ReflectionHelpers.callInstanceMethod(application, "attach", ReflectionHelpers.ClassParameter.from(Context.class, RuntimeEnvironment.application.getBaseContext()));
+    Application application = new Application();
+    shadowOf(application).callAttach(RuntimeEnvironment.systemContext);
     assertThat(ShadowContentResolver.getProvider(Uri.parse("content://"))).isNull();
   }
 
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplication.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplication.java
index b7ddb2d..6c3ee14 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplication.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplication.java
@@ -54,6 +54,7 @@
 import org.robolectric.manifest.AndroidManifest;
 import org.robolectric.manifest.BroadcastReceiverData;
 import org.robolectric.shadow.api.Shadow;
+import org.robolectric.util.ReflectionHelpers;
 import org.robolectric.util.Scheduler;
 
 @Implements(Application.class)
@@ -136,6 +137,18 @@
     }
   }
 
+  /**
+   * Attaches an application to a base context.
+   *
+   * @param application The application to attach.
+   * @param context The context with which to initialize the application, whose base context will
+   *                be attached to the application
+   */
+  public void callAttach(Context context) {
+    ReflectionHelpers.callInstanceMethod(Application.class, realApplication, "attach",
+        ReflectionHelpers.ClassParameter.from(Context.class, context));
+  }
+
   private void registerBroadcastReceivers(AndroidManifest androidManifest) {
     for (BroadcastReceiverData receiver : androidManifest.getBroadcastReceivers()) {
       IntentFilter filter = new IntentFilter();