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