ActivityTest.java revision 05fe24178737f40b46d4033578ef1ce6b5dfa43b
133873d2b41a5cd2597b20a4e88eb8942944c0f23Tyler Schultzpackage com.xtremelabs.robolectric.shadows; 20add4ea006647573fc11fac463c87842f2dcc403Christian Williams 30add4ea006647573fc11fac463c87842f2dcc403Christian Williamsimport android.app.Activity; 44c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawalaimport android.app.Dialog; 50add4ea006647573fc11fac463c87842f2dcc403Christian Williamsimport android.appwidget.AppWidgetProvider; 6b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williamsimport android.content.Intent; 70add4ea006647573fc11fac463c87842f2dcc403Christian Williamsimport android.content.IntentFilter; 8b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williamsimport android.net.Uri; 9ce8adbf01d520e692a7eb6b72874c0182966127bPhil Goodwin & Tyler Schultzimport com.xtremelabs.robolectric.ApplicationResolver; 10c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williamsimport com.xtremelabs.robolectric.R; 110add4ea006647573fc11fac463c87842f2dcc403Christian Williamsimport com.xtremelabs.robolectric.Robolectric; 1207257335f88da163910cc0bd039e6163edc38580Gregg Van Hove & Phil Goodwinimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 13a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultzimport com.xtremelabs.robolectric.util.TestRunnable; 14b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williamsimport com.xtremelabs.robolectric.util.Transcript; 154c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawalaimport org.hamcrest.CoreMatchers; 160add4ea006647573fc11fac463c87842f2dcc403Christian Williamsimport org.junit.Test; 170add4ea006647573fc11fac463c87842f2dcc403Christian Williamsimport org.junit.runner.RunWith; 180add4ea006647573fc11fac463c87842f2dcc403Christian Williams 19b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williamsimport static com.xtremelabs.robolectric.Robolectric.shadowOf; 20147cdda64f4a372a27599ae1f902bd7be90bee5cPhil Goodwinimport static com.xtremelabs.robolectric.util.TestUtil.newConfig; 214c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawalaimport static org.hamcrest.CoreMatchers.*; 22a3030055b95774b06a963ccc9224fac58c887cb2Christian Williams & Phil Goodwinimport static org.hamcrest.core.StringStartsWith.startsWith; 23a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultzimport static org.junit.Assert.*; 24ce8adbf01d520e692a7eb6b72874c0182966127bPhil Goodwin & Tyler Schultz 2507257335f88da163910cc0bd039e6163edc38580Gregg Van Hove & Phil Goodwin@RunWith(WithTestDefaultsRunner.class) 260add4ea006647573fc11fac463c87842f2dcc403Christian Williamspublic class ActivityTest { 270add4ea006647573fc11fac463c87842f2dcc403Christian Williams 280add4ea006647573fc11fac463c87842f2dcc403Christian Williams @Test(expected = IllegalStateException.class) 290add4ea006647573fc11fac463c87842f2dcc403Christian Williams public void shouldComplainIfActivityIsDestroyedWithRegisteredBroadcastReceivers() throws Exception { 300add4ea006647573fc11fac463c87842f2dcc403Christian Williams MyActivity activity = new MyActivity(); 310add4ea006647573fc11fac463c87842f2dcc403Christian Williams activity.registerReceiver(new AppWidgetProvider(), new IntentFilter()); 320add4ea006647573fc11fac463c87842f2dcc403Christian Williams activity.onDestroy(); 330add4ea006647573fc11fac463c87842f2dcc403Christian Williams } 340add4ea006647573fc11fac463c87842f2dcc403Christian Williams 350add4ea006647573fc11fac463c87842f2dcc403Christian Williams @Test 360add4ea006647573fc11fac463c87842f2dcc403Christian Williams public void shouldNotComplainIfActivityIsDestroyedWhileAnotherActivityHasRegisteredBroadcastReceivers() throws Exception { 370add4ea006647573fc11fac463c87842f2dcc403Christian Williams MyActivity activity = new MyActivity(); 380add4ea006647573fc11fac463c87842f2dcc403Christian Williams 390add4ea006647573fc11fac463c87842f2dcc403Christian Williams MyActivity activity2 = new MyActivity(); 400add4ea006647573fc11fac463c87842f2dcc403Christian Williams activity2.registerReceiver(new AppWidgetProvider(), new IntentFilter()); 410add4ea006647573fc11fac463c87842f2dcc403Christian Williams 420add4ea006647573fc11fac463c87842f2dcc403Christian Williams activity.onDestroy(); // should not throw exception 430add4ea006647573fc11fac463c87842f2dcc403Christian Williams } 440add4ea006647573fc11fac463c87842f2dcc403Christian Williams 45ce8adbf01d520e692a7eb6b72874c0182966127bPhil Goodwin & Tyler Schultz @Test 46b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams public void startActivityForResultAndReceiveResult_shouldSendResponsesBackToActivity() throws Exception { 47b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams final Transcript transcript = new Transcript(); 48b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams Activity activity = new Activity() { 49b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { 50b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams transcript.add("onActivityResult called with requestCode " + requestCode + ", resultCode " + resultCode + ", intent data " + data.getData()); 51b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams } 52b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams }; 53b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams activity.startActivityForResult(new Intent().setType("audio/*"), 123); 54b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams activity.startActivityForResult(new Intent().setType("image/*"), 456); 55b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams 56b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams shadowOf(activity).receiveResult(new Intent().setType("image/*"), Activity.RESULT_OK, 57b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams new Intent().setData(Uri.parse("content:foo"))); 58b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams transcript.assertEventsSoFar("onActivityResult called with requestCode 456, resultCode -1, intent data content:foo"); 59b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams } 60b832a2815d03667cbe1415bfcfd596292cb76f85Josh Lauer & Christian Williams 61b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams @Test 62b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams public void startActivityForResultAndReceiveResult_whenNoIntentMatches_shouldThrowException() throws Exception { 63b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams Activity activity = new Activity() { 64b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { 65b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams throw new IllegalStateException("should not be called"); 66b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams } 67b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams }; 68b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams activity.startActivityForResult(new Intent().setType("audio/*"), 123); 69b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams activity.startActivityForResult(new Intent().setType("image/*"), 456); 70b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams 71b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams Intent requestIntent = new Intent().setType("video/*"); 72b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams try { 73b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams shadowOf(activity).receiveResult(requestIntent, Activity.RESULT_OK, 74b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams new Intent().setData(Uri.parse("content:foo"))); 75b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams fail(); 76b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams } catch (Exception e) { 77b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams assertThat(e.getMessage(), startsWith("No intent matches " + requestIntent)); 78b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams } 79b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams } 80b76cabccd9f35b57fe486faf7d5763952c07c1a9Josh Lauer & Christian Williams 81ea74b95565e92521affdc7cc1a773e10fd235a96Josh Lauer & Christian Williams @Test 82cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey public void shouldSupportStartActivityForResult() throws Exception { 83cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey MyActivity activity = new MyActivity(); 84cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey ShadowActivity shadowActivity = Robolectric.shadowOf(activity); 85cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey Intent intent = new Intent().setClass(activity, MyActivity.class); 86cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey assertThat(shadowActivity.getNextStartedActivity(), nullValue()); 8740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 88cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey activity.startActivityForResult(intent, 142); 8940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 90cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey Intent startedIntent = shadowActivity.getNextStartedActivity(); 91cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey assertThat(startedIntent, notNullValue()); 92cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey assertThat(startedIntent, sameInstance(intent)); 93cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey } 9440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 95cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey @Test 96cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey public void shouldSupportGetStartedActitivitesForResult() throws Exception { 97cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey MyActivity activity = new MyActivity(); 98cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey ShadowActivity shadowActivity = Robolectric.shadowOf(activity); 99cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey Intent intent = new Intent().setClass(activity, MyActivity.class); 10040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 101cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey activity.startActivityForResult(intent, 142); 10240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 103cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey ShadowActivity.IntentForResult intentForResult = shadowActivity.getNextStartedActivityForResult(); 104cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey assertThat(intentForResult, notNullValue()); 10540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(shadowActivity.getNextStartedActivityForResult(), nullValue()); 10640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(intentForResult.intent, notNullValue()); 10740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(intentForResult.intent, sameInstance(intent)); 10840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(intentForResult.requestCode, equalTo(142)); 109cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey } 11040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 111cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey @Test 112cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey public void shouldSupportPeekStartedActitivitesForResult() throws Exception { 113cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey MyActivity activity = new MyActivity(); 114cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey ShadowActivity shadowActivity = Robolectric.shadowOf(activity); 115cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey Intent intent = new Intent().setClass(activity, MyActivity.class); 116cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey 117cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey activity.startActivityForResult(intent, 142); 11840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 119cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey ShadowActivity.IntentForResult intentForResult = shadowActivity.peekNextStartedActivityForResult(); 120cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey assertThat(intentForResult, notNullValue()); 12140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(shadowActivity.peekNextStartedActivityForResult(), sameInstance(intentForResult)); 12240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(intentForResult.intent, notNullValue()); 12340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(intentForResult.intent, sameInstance(intent)); 12440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(intentForResult.requestCode, equalTo(142)); 125cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey } 12640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 127cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey @Test 128c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams public void onContentChangedShouldBeCalledAfterContentViewIsSet() throws RuntimeException { 129c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams final Transcript transcript = new Transcript(); 130c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams Activity customActivity = new Activity() { 131c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams @Override 132c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams public void onContentChanged() { 133c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams transcript.add("onContentChanged was called; title is \"" + shadowOf(findViewById(R.id.title)).innerText() + "\""); 134c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams } 135c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams }; 136c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams customActivity.setContentView(R.layout.main); 137c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams transcript.assertEventsSoFar("onContentChanged was called; title is \"Main Layout\""); 138c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams } 139c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams 140c23ee9ca694000bd03b88d958bb84000e04f51e4Christian Williams @Test 141ce8adbf01d520e692a7eb6b72874c0182966127bPhil Goodwin & Tyler Schultz public void shouldRetrievePackageNameFromTheManifest() throws Exception { 142147cdda64f4a372a27599ae1f902bd7be90bee5cPhil Goodwin Robolectric.application = new ApplicationResolver(newConfig("TestAndroidManifestWithPackageName.xml")).resolveApplication(); 1434c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala assertThat("com.wacka.wa", equalTo(new Activity().getPackageName())); 144ce8adbf01d520e692a7eb6b72874c0182966127bPhil Goodwin & Tyler Schultz } 145ce8adbf01d520e692a7eb6b72874c0182966127bPhil Goodwin & Tyler Schultz 146a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz @Test 147a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz public void shouldRunUiTasksImmediatelyByDefault() throws Exception { 148a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz TestRunnable runnable = new TestRunnable(); 149a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz MyActivity activity = new MyActivity(); 150a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz activity.runOnUiThread(runnable); 151a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz assertTrue(runnable.wasRun); 152a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz } 153a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz 154a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz @Test 155a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz public void shouldQueueUiTasksWhenUiThreadIsPaused() throws Exception { 156a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz Robolectric.pauseMainLooper(); 157a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz 158a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz MyActivity activity = new MyActivity(); 159a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz TestRunnable runnable = new TestRunnable(); 160a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz activity.runOnUiThread(runnable); 161a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz assertFalse(runnable.wasRun); 162a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz 163a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz Robolectric.unPauseMainLooper(); 164a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz assertTrue(runnable.wasRun); 165a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz } 166a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz 1674c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala @Test 1684c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala public void shouldCallOnCreateDialogFromShowDialog() { 1694c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala ActivityWithOnCreateDialog activity = new ActivityWithOnCreateDialog(); 1704c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala activity.showDialog(123); 1714c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala assertTrue(activity.onCreateDialogWasCalled); 1724c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala assertThat(ShadowDialog.getLatestDialog(), CoreMatchers.<Object>notNullValue()); 1734c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala } 1744c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala 17505fe24178737f40b46d4033578ef1ce6b5dfa43bPhil Goodwin & Rick Kawala @Test 17605fe24178737f40b46d4033578ef1ce6b5dfa43bPhil Goodwin & Rick Kawala public void shouldCallFinishInOnBackPressed() { 17705fe24178737f40b46d4033578ef1ce6b5dfa43bPhil Goodwin & Rick Kawala Activity activity = new Activity(); 17805fe24178737f40b46d4033578ef1ce6b5dfa43bPhil Goodwin & Rick Kawala activity.onBackPressed(); 17905fe24178737f40b46d4033578ef1ce6b5dfa43bPhil Goodwin & Rick Kawala 18005fe24178737f40b46d4033578ef1ce6b5dfa43bPhil Goodwin & Rick Kawala ShadowActivity shadowActivity = shadowOf(activity); 18105fe24178737f40b46d4033578ef1ce6b5dfa43bPhil Goodwin & Rick Kawala assertTrue(shadowActivity.isFinishing()); 18205fe24178737f40b46d4033578ef1ce6b5dfa43bPhil Goodwin & Rick Kawala } 18305fe24178737f40b46d4033578ef1ce6b5dfa43bPhil Goodwin & Rick Kawala 1840add4ea006647573fc11fac463c87842f2dcc403Christian Williams private static class MyActivity extends Activity { 1850add4ea006647573fc11fac463c87842f2dcc403Christian Williams @Override protected void onDestroy() { 1860add4ea006647573fc11fac463c87842f2dcc403Christian Williams super.onDestroy(); 1870add4ea006647573fc11fac463c87842f2dcc403Christian Williams } 1880add4ea006647573fc11fac463c87842f2dcc403Christian Williams } 1894c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala 1904c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala private static class ActivityWithOnCreateDialog extends Activity { 1914c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala boolean onCreateDialogWasCalled = false; 1924c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala 1934c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala @Override 1944c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala protected Dialog onCreateDialog(int id) { 1954c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala onCreateDialogWasCalled = true; 1964c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala return new Dialog(null); 1974c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala } 1984c5a8c640b626c2b53b0c168d8db6d2930e270fdPhil Goodwin & Rick Kawala } 1990add4ea006647573fc11fac463c87842f2dcc403Christian Williams} 200