Fix call order of postCreate() and start() in LocalActivityInvoker. See https://developer.android.com/reference/android/app/Activity.html#onPostCreate%28android.os.Bundle%29
PiperOrigin-RevId: 236735511
diff --git a/integration_tests/androidx_test/src/test/java/org/robolectric/integration_tests/axt/ActivityScenarioTest.java b/integration_tests/androidx_test/src/test/java/org/robolectric/integration_tests/axt/ActivityScenarioTest.java
index 9142ab4..8044896 100644
--- a/integration_tests/androidx_test/src/test/java/org/robolectric/integration_tests/axt/ActivityScenarioTest.java
+++ b/integration_tests/androidx_test/src/test/java/org/robolectric/integration_tests/axt/ActivityScenarioTest.java
@@ -40,6 +40,12 @@
}
@Override
+ public void onPostCreate(Bundle savedInstanceState) {
+ super.onPostCreate(savedInstanceState);
+ callbacks.add("onPostCreate");
+ }
+
+ @Override
public void onResume() {
super.onResume();
callbacks.add("onResume");
@@ -95,7 +101,8 @@
ActivityScenario.launch(TranscriptActivity.class);
assertThat(activityScenario).isNotNull();
assertThat(callbacks)
- .containsExactly("onCreate", "onStart", "onResume", "onWindowFocusChanged true");
+ .containsExactly(
+ "onCreate", "onStart", "onPostCreate", "onResume", "onWindowFocusChanged true");
}
@Test
diff --git a/robolectric/src/main/java/org/robolectric/android/internal/LocalActivityInvoker.java b/robolectric/src/main/java/org/robolectric/android/internal/LocalActivityInvoker.java
index 21fbee8..8ab9d45 100644
--- a/robolectric/src/main/java/org/robolectric/android/internal/LocalActivityInvoker.java
+++ b/robolectric/src/main/java/org/robolectric/android/internal/LocalActivityInvoker.java
@@ -40,8 +40,8 @@
controller =
Robolectric.buildActivity(activityClass, intent)
.create()
- .postCreate(null)
.start()
+ .postCreate(null)
.resume()
.postResume()
.visible()