Robolectric.java revision 07a3254138fdfe62b70c194b458879c51bea72b4
1345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williamspackage com.xtremelabs.robolectric;
20b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher
3c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.app.Activity;
4cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphreyimport android.app.AlarmManager;
5c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.app.AlertDialog;
6c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.app.Application;
7c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.app.Dialog;
8c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.app.ListActivity;
907a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwinimport android.app.Notification;
1007a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwinimport android.app.NotificationManager;
111fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.appwidget.AppWidgetManager;
12b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williamsimport android.bluetooth.BluetoothAdapter;
13b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williamsimport android.bluetooth.BluetoothDevice;
149893f7266e7dcc1332743887045bd69991441421Christian Williamsimport android.content.ContentValues;
151fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.Context;
161fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.ContextWrapper;
171fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.Intent;
1870a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silvaimport android.content.res.AssetManager;
19cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphreyimport android.content.res.Configuration;
201fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.res.Resources;
21b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesiimport android.database.sqlite.SQLiteCursor;
229893f7266e7dcc1332743887045bd69991441421Christian Williamsimport android.database.sqlite.SQLiteDatabase;
2328dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesiimport android.database.sqlite.SQLiteOpenHelper;
243a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesiimport android.database.sqlite.SQLiteQueryBuilder;
25c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.graphics.Bitmap;
26c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.graphics.Canvas;
27c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.graphics.ColorMatrix;
28c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.graphics.Matrix;
29c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.graphics.Paint;
30c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.graphics.Path;
311fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.graphics.drawable.BitmapDrawable;
321fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.graphics.drawable.Drawable;
3331af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesiimport android.hardware.Camera;
3406abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richardimport android.location.Geocoder;
351fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.location.LocationManager;
3636a56b1b82e6409c81ccc87ab7148cef105b4517Michael Portuesiimport android.media.AudioManager;
375480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphreyimport android.media.MediaPlayer;
3831af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesiimport android.media.MediaRecorder;
397581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarseimport android.net.ConnectivityManager;
407581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarseimport android.net.NetworkInfo;
411fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.os.Handler;
421fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.os.Looper;
43c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.view.Display;
44c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.view.LayoutInflater;
45b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwinimport android.view.MenuInflater;
46c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.view.MotionEvent;
47c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.view.View;
48c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.view.ViewGroup;
490189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphreyimport android.webkit.WebSettings;
506cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultzimport android.webkit.WebView;
51c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.widget.AdapterView;
52c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.widget.ExpandableListView;
53c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.widget.ImageView;
54c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.widget.ListView;
55c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.widget.RemoteViews;
56c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.widget.TextView;
57c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.widget.Toast;
58c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwinimport android.widget.ZoomButtonsController;
59b5d56e95f27d484ad3098ac18867262e7c8826c1Christian Williams & Phil Goodwinimport com.xtremelabs.robolectric.bytecode.RobolectricInternals;
60b5d56e95f27d484ad3098ac18867262e7c8826c1Christian Williams & Phil Goodwinimport com.xtremelabs.robolectric.bytecode.ShadowWrangler;
6107a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwinimport com.xtremelabs.robolectric.shadows.*;
627cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwinimport com.xtremelabs.robolectric.util.HttpRequestInfo;
6371d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williamsimport com.xtremelabs.robolectric.util.Scheduler;
64cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultzimport org.apache.http.HttpRequest;
65cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultzimport org.apache.http.HttpResponse;
66b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultzimport org.apache.http.impl.client.DefaultRequestDirector;
670b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher
680b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisherimport java.util.Arrays;
690b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisherimport java.util.List;
700b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher
71bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin@SuppressWarnings({"UnusedDeclaration"})
72345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williamspublic class Robolectric {
738baea4cbf332f0e0acf559dfab4aa59dd7c71003Christian Williams & Ryan Richard    public static Application application;
748baea4cbf332f0e0acf559dfab4aa59dd7c71003Christian Williams & Ryan Richard
750b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher    public static <T> T newInstanceOf(Class<T> clazz) {
76111e2299b5157f072d9e62406bd3c6fea9036cd4Christian Williams & Phil Goodwin        return RobolectricInternals.newInstanceOf(clazz);
770b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher    }
780b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher
791741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin    public static Object newInstanceOf(String className) {
801741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        try {
811741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin            Class<?> clazz = Class.forName(className);
821741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin            if (clazz != null) {
831741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin                return newInstanceOf(clazz);
841741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin            }
851741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        } catch (ClassNotFoundException e) {
861741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        }
871741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        return null;
881741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin    }
891741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin
90e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static void bindShadowClass(Class<?> shadowClass) {
91111e2299b5157f072d9e62406bd3c6fea9036cd4Christian Williams & Phil Goodwin        RobolectricInternals.bindShadowClass(shadowClass);
92e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    }
93e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
94e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static void bindDefaultShadowClasses() {
95638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams        bindShadowClasses(getDefaultShadowClasses());
96638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams    }
97638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams
98638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams    public static void bindShadowClasses(List<Class<?>> shadowClasses) {
99638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams        for (Class<?> shadowClass : shadowClasses) {
100638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams            bindShadowClass(shadowClass);
101e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams        }
102e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    }
103e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
104cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz    /**
105cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * Invoke this utility method in tests to reveal which Android api classes and methods are being invoked
106cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * for which there are no shadows or shadow methods. This helps expose which methods are being invoked
107cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * either by a third party library or application code which need new shadow methods to be written. Generates
108cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * output for the current test only.
109cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     */
110cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz    public static void logMissingInvokedShadowMethods() {
111cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz        ShadowWrangler.getInstance().logMissingInvokedShadowMethods();
112cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz    }
113cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz
114e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static List<Class<?>> getDefaultShadowClasses() {
1150b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher        return Arrays.asList(
116c146ad8871a32bbf62aca259ede77d3f9cd07773Tyler Schultz                ShadowAbsoluteLayout.class,
117afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAbsSpinner.class,
1189893f7266e7dcc1332743887045bd69991441421Christian Williams                ShadowAbstractCursor.class,
119afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowActivity.class,
120afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAdapterView.class,
121afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAddress.class,
122cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowAlarmManager.class,
123afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAlertDialog.class,
124afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAlertDialog.ShadowBuilder.class,
125afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowApplication.class,
126afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAppWidgetManager.class,
127e9c420439254fc0c893e44987db10e1418fff338mylacc                ShadowArrayAdapter.class,
128114296321cba71f8133713306049ce3b411e8563Gonçalo Silva                ShadowAssetManager.class,
12971d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams                ShadowAsyncTask.class,
13036a56b1b82e6409c81ccc87ab7148cef105b4517Michael Portuesi                ShadowAudioManager.class,
131afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowBaseAdapter.class,
132ae26238c7d01caef84ceddd8ffb42c32306918d6Josh Lauer & Christian Williams                ShadowBitmap.class,
133afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowBitmapDrawable.class,
134b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams                ShadowBitmapFactory.class,
135b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams                ShadowBluetoothAdapter.class,
136b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams                ShadowBluetoothDevice.class,
13775d564ab2b02cbe8a0d8cb33779530f72ea813abChristian Williams & Ryan Richard                ShadowBundle.class,
13831af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi                ShadowCamera.class,
13931af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi                ShadowCameraParameters.class,
140cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowCameraSize.class,
141afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowCanvas.class,
142e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams                ShadowColorMatrix.class,
143e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams                ShadowColorMatrixColorFilter.class,
144b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowColorStateList.class,
145afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowComponentName.class,
146cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowCompoundButton.class,
147cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowConfiguration.class,
1487581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse                ShadowConnectivityManager.class,
14920b94927aff24d7bd975d6ee717f1b65da9ee7c1Josh Lauer & Christian Williams                ShadowContentResolver.class,
1509893f7266e7dcc1332743887045bd69991441421Christian Williams                ShadowContentValues.class,
151afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowContext.class,
152afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowContextWrapper.class,
1531dcccba609fb2036994803ca6d71f9c76e1fe8e9Chee Wong                ShadowContextThemeWrapper.class,
154b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowCookieManager.class,
155cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz                ShadowDefaultRequestDirector.class,
156d1eee6c4ec28a6c17455ce5c29efb833f30dd5d0Michael Portuesi                ShadowDisplay.class,
157afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowDrawable.class,
158afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowDialog.class,
159afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowEditText.class,
1609044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian                ShadowExpandableListView.class,
161d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams                ShadowFloatMath.class,
16206abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard                ShadowGeocoder.class,
163afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowGeoPoint.class,
164afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowHandler.class,
165afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowImageView.class,
166afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowIntent.class,
167afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowIntentFilter.class,
168afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowItemizedOverlay.class,
169afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLayoutInflater.class,
170afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLayoutParams.class,
171afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowListActivity.class,
172afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowListView.class,
173afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLocation.class,
174afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLocationManager.class,
175afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLooper.class,
176afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMapController.class,
177afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMapActivity.class,
178afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMapView.class,
1790d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams                ShadowMatrix.class,
1805480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey                ShadowMediaPlayer.class,
18176209fe88929d880ac6e008d5a3e6e1e1dd4939aPhil Goodwin                ShadowMediaRecorder.class,
182d3f9a56dffcdd129355351019aef9652cce0d6b2Josh Lauer & Christian Williams                ShadowMediaStore.ShadowImages.ShadowMedia.class,
18376209fe88929d880ac6e008d5a3e6e1e1dd4939aPhil Goodwin                ShadowMenuInflater.class,
184afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMotionEvent.class,
18507a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin                ShadowNotification.class,
18607a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin                ShadowNotificationManager.class,
1877581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse                ShadowNetworkInfo.class,
188afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowOverlayItem.class,
189afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPaint.class,
190afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPath.class,
191afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPendingIntent.class,
192afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPoint.class,
193d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams                ShadowPointF.class,
194b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowPowerManager.class,
195e8637c922e4f8e681769d63689accb89e6108056Michael Portuesi                ShadowPreferenceManager.class,
196afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowRect.class,
197afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowRemoteViews.class,
198afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowResources.class,
199b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowResources.ShadowTheme.class,
200afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowService.class,
201afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSettings.class,
202afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSettings.ShadowSecure.class,
203afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSettings.ShadowSystem.class,
204afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSpannableStringBuilder.class,
2059893f7266e7dcc1332743887045bd69991441421Christian Williams                ShadowSQLiteDatabase.class,
206b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi                ShadowSQLiteCursor.class,
20728dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi                ShadowSQLiteOpenHelper.class,
2083a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi                ShadowSQLiteQueryBuilder.class,
2097dc1a70de2b28bdf70d887accfb5805f3497bda8Josh Lauer & Christian Williams                ShadowSurfaceView.class,
210afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowTextUtils.class,
211afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowTextView.class,
212afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowToast.class,
213b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowTypedArray.class,
214afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowTypedValue.class,
215237888bb1e926aea523388de5d511a35f38506efPhil Goodwin & Tyler Schultz                ShadowURLSpan.class,
216afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowView.class,
217afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowViewGroup.class,
2180e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams                ShadowViewStub.class,
2190189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey                ShadowWebSettings.class,
2209ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz                ShadowWebView.class,
221afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowWifiManager.class,
222e2f97afa26ab916fbc36ca1bbf18ba507023ab50Christian Williams                ShadowWindow.class,
223afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowZoomButtonsController.class
224adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams        );
2250b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher    }
22690008046fcb6aac20be2df7a0aa07129f6f0d62bIan Fisher
227345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williams    public static void resetStaticState() {
228e6dfaf271dbaf3ac1bb82d953669a56a02fc71d6Phil Goodwin & Tyler Schultz        ShadowWrangler.getInstance().silence();
229345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williams        Robolectric.application = new Application();
230d092cebc8c9179d3a138827fd65961b867e2c53fJosh Lauer & Christian Williams        ShadowBitmapFactory.reset();
23190008046fcb6aac20be2df7a0aa07129f6f0d62bIan Fisher    }
2321fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
2339122a05312e767618ba0545a951df9cab86c8716Christian Williams    public static <T> T directlyOn(T shadowedObject) {
2349122a05312e767618ba0545a951df9cab86c8716Christian Williams        return RobolectricInternals.directlyOn(shadowedObject);
2359122a05312e767618ba0545a951df9cab86c8716Christian Williams    }
2369122a05312e767618ba0545a951df9cab86c8716Christian Williams
237433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowDrawable shadowOf(Drawable instance) {
238433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowDrawable) shadowOf_(instance);
2391fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2401fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
241433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowToast shadowOf(Toast instance) {
242433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowToast) shadowOf_(instance);
2431fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2441fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
2457581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    public static ShadowNetworkInfo shadowOf(NetworkInfo instance) {
2467581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse        return (ShadowNetworkInfo) shadowOf_(instance);
2477581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    }
2487581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse
2497581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    public static ShadowConnectivityManager shadowOf(ConnectivityManager instance) {
2507581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse        return (ShadowConnectivityManager) shadowOf_(instance);
2517581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    }
2527581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse
253433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowBitmapDrawable shadowOf(BitmapDrawable instance) {
254433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowBitmapDrawable) shadowOf_(instance);
2551fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2561fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
257433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowZoomButtonsController shadowOf(ZoomButtonsController instance) {
258433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowZoomButtonsController) shadowOf_(instance);
2591fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2601fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
261433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowListView shadowOf(ListView instance) {
262433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowListView) shadowOf_(instance);
2631fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2641fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
2659044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian    public static ExpandableListView shadowOf(ExpandableListView instance) {
2669044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian        return (ExpandableListView) shadowOf_(instance);
2679044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian    }
2689044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian
269433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowActivity shadowOf(Activity instance) {
270433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowActivity) shadowOf_(instance);
2711fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2721fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
273433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowContextWrapper shadowOf(ContextWrapper instance) {
274433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowContextWrapper) shadowOf_(instance);
2751fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2761fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
277f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    public static ShadowApplication shadowOf(Application instance) {
278f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        return (ShadowApplication) shadowOf_(instance);
279f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    }
280f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin
281f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    public static ShadowContext shadowOf(Context instance) {
282f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        return (ShadowContext) shadowOf_(instance);
2831fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2841fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
285433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowPaint shadowOf(Paint instance) {
286433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowPaint) shadowOf_(instance);
2871fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2881fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
289433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowPath shadowOf(Path instance) {
290433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowPath) shadowOf_(instance);
2911fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2921fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
293433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowListActivity shadowOf(ListActivity instance) {
294433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowListActivity) shadowOf_(instance);
2951fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2961fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
297433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowHandler shadowOf(Handler instance) {
298433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowHandler) shadowOf_(instance);
2991fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3001fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
301e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams    public static ShadowColorMatrix shadowOf(ColorMatrix instance) {
302e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams        return (ShadowColorMatrix) shadowOf_(instance);
303e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams    }
304e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams
305433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowIntent shadowOf(Intent instance) {
306433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowIntent) shadowOf_(instance);
3071fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3081fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
309433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowView shadowOf(View instance) {
310433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowView) shadowOf_(instance);
3111fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3121fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
313433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowViewGroup shadowOf(ViewGroup instance) {
314433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowViewGroup) shadowOf_(instance);
3151fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3161fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
3170189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey    public static ShadowWebSettings shadowOf(WebSettings instance) {
3180189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey        return (ShadowWebSettings) shadowOf_(instance);
3190189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey    }
3200189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey
3216cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz    public static ShadowWebView shadowOf(WebView instance) {
3226cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz        return (ShadowWebView) shadowOf_(instance);
3236cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz    }
3246cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz
325433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowAdapterView shadowOf(AdapterView instance) {
326433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowAdapterView) shadowOf_(instance);
3271fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3281fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
329433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowTextView shadowOf(TextView instance) {
330433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowTextView) shadowOf_(instance);
3311fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3321fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
333433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowImageView shadowOf(ImageView instance) {
334433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowImageView) shadowOf_(instance);
3351fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3361fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
337433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowRemoteViews shadowOf(RemoteViews instance) {
338433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowRemoteViews) shadowOf_(instance);
3391fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3401fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
341433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowDialog shadowOf(Dialog instance) {
342433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowDialog) shadowOf_(instance);
3431fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3441fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
345b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static ShadowDefaultRequestDirector shadowOf(DefaultRequestDirector instance) {
346cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz        return (ShadowDefaultRequestDirector) shadowOf_(instance);
347c95377d49257364984344908f301574ebe8d4d9cPhil Goodwin & Tyler Schultz    }
348c95377d49257364984344908f301574ebe8d4d9cPhil Goodwin & Tyler Schultz
349433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowAlertDialog shadowOf(AlertDialog instance) {
350433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowAlertDialog) shadowOf_(instance);
3511fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3521fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
353433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowLooper shadowOf(Looper instance) {
354433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowLooper) shadowOf_(instance);
3551fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3561fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
357433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowCanvas shadowOf(Canvas instance) {
358433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowCanvas) shadowOf_(instance);
3591fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3601fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
361433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowLocationManager shadowOf(LocationManager instance) {
362433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowLocationManager) shadowOf_(instance);
3631fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3641fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
365433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowAppWidgetManager shadowOf(AppWidgetManager instance) {
366433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowAppWidgetManager) shadowOf_(instance);
3671fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3681fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
369433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowResources shadowOf(Resources instance) {
370433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowResources) shadowOf_(instance);
3711fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3721fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
373e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static ShadowLayoutInflater shadowOf(LayoutInflater instance) {
37406abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard        return (ShadowLayoutInflater) shadowOf_(instance);
375e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    }
376adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams
377b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin    public static ShadowMenuInflater shadowOf(MenuInflater instance) {
378b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin        return (ShadowMenuInflater) shadowOf_(instance);
379b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin    }
380b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin
381adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    public static ShadowDisplay shadowOf(Display instance) {
3824a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams        return (ShadowDisplay) shadowOf_(instance);
383adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    }
384adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams
385adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    public static ShadowAudioManager shadowOf(AudioManager instance) {
3864a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams        return (ShadowAudioManager) shadowOf_(instance);
3874a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams    }
388e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
38906abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard    public static ShadowGeocoder shadowOf(Geocoder instance) {
39006abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard        return (ShadowGeocoder) shadowOf_(instance);
391adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    }
392e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
3939893f7266e7dcc1332743887045bd69991441421Christian Williams    public static ShadowSQLiteDatabase shadowOf(SQLiteDatabase other) {
3949893f7266e7dcc1332743887045bd69991441421Christian Williams        return (ShadowSQLiteDatabase) Robolectric.shadowOf_(other);
3959893f7266e7dcc1332743887045bd69991441421Christian Williams    }
396f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
397b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi    public static ShadowSQLiteCursor shadowOf(SQLiteCursor other) {
398b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi        return (ShadowSQLiteCursor) Robolectric.shadowOf_(other);
399b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi    }
4009893f7266e7dcc1332743887045bd69991441421Christian Williams
40128dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi    public static ShadowSQLiteOpenHelper shadowOf(SQLiteOpenHelper other) {
40228dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi        return (ShadowSQLiteOpenHelper) Robolectric.shadowOf_(other);
40328dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi    }
404f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
4053a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi    public static ShadowSQLiteQueryBuilder shadowOf(SQLiteQueryBuilder other) {
4063a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi        return (ShadowSQLiteQueryBuilder) Robolectric.shadowOf_(other);
4073a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi    }
408f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
4099893f7266e7dcc1332743887045bd69991441421Christian Williams    public static ShadowContentValues shadowOf(ContentValues other) {
4109893f7266e7dcc1332743887045bd69991441421Christian Williams        return (ShadowContentValues) Robolectric.shadowOf_(other);
4119893f7266e7dcc1332743887045bd69991441421Christian Williams    }
4129893f7266e7dcc1332743887045bd69991441421Christian Williams
41331af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    public static ShadowCamera shadowOf(Camera instance) {
41431af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi        return (ShadowCamera) shadowOf_(instance);
41531af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    }
416f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
41731af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    public static ShadowCameraParameters shadowOf(Camera.Parameters instance) {
41831af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi        return (ShadowCameraParameters) shadowOf_(instance);
41931af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    }
4209893f7266e7dcc1332743887045bd69991441421Christian Williams
421cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    public static ShadowCameraSize shadowOf(Camera.Size instance) {
422cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey        return (ShadowCameraSize) shadowOf_(instance);
423cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    }
42440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
4255480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey    public static ShadowMediaPlayer shadowOf(MediaPlayer instance) {
4265480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey        return (ShadowMediaPlayer) shadowOf_(instance);
4275480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey    }
4285480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey
42931af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    public static ShadowMediaRecorder shadowOf(MediaRecorder instance) {
43031af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi        return (ShadowMediaRecorder) shadowOf_(instance);
43131af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    }
432f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
43324f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz    public static ShadowAssetManager shadowOf(AssetManager instance) {
43424f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz        return (ShadowAssetManager) Robolectric.shadowOf_(instance);
43524f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz    }
43624f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz
437cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    public static ShadowAlarmManager shadowOf(AlarmManager instance) {
438cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey        return (ShadowAlarmManager) Robolectric.shadowOf_(instance);
439cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    }
440cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey
44140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public static ShadowConfiguration shadowOf(Configuration instance) {
44240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        return (ShadowConfiguration) Robolectric.shadowOf_(instance);
443cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    }
444cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey
445b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    public static ShadowBitmap shadowOf(Bitmap other) {
446b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams        return (ShadowBitmap) Robolectric.shadowOf_(other);
447b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    }
448b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams
449b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    public static ShadowBluetoothAdapter shadowOf(BluetoothAdapter other) {
450b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams        return (ShadowBluetoothAdapter) Robolectric.shadowOf_(other);
451b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    }
452b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams
453b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    public static ShadowBluetoothDevice shadowOf(BluetoothDevice other) {
454b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams        return (ShadowBluetoothDevice) Robolectric.shadowOf_(other);
455b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    }
456b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams
4570d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams    public static ShadowMatrix shadowOf(Matrix other) {
4580d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams        return (ShadowMatrix) Robolectric.shadowOf_(other);
4590d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams    }
4600d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams
461d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams    public static ShadowMotionEvent shadowOf(MotionEvent other) {
462d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams        return (ShadowMotionEvent) Robolectric.shadowOf_(other);
463d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams    }
464d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams
46507a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    public static ShadowNotificationManager shadowOf(NotificationManager other) {
46607a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin        return (ShadowNotificationManager) Robolectric.shadowOf_(other);
46707a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    }
46807a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin
46907a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    public static ShadowNotification shadowOf(Notification other) {
47007a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin        return (ShadowNotification) Robolectric.shadowOf_(other);
47107a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    }
47207a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin
4731fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    @SuppressWarnings({"unchecked"})
474433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static <P, R> P shadowOf_(R instance) {
475cee7ff89bfcb83d6cd65e6de9b7cafe2c1caf40aChristian Williams        return (P) ShadowWrangler.getInstance().shadowOf(instance);
4761fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
47771d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
4780fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    /**
4790fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Runs any background tasks previously queued by {@link android.os.AsyncTask#execute(Object[])}.
480b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * <p/>
4810fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * <p/>
4820fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Note: calling this method does not pause or un-pause the scheduler.
4830fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     */
48471d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public static void runBackgroundTasks() {
4850fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin        getBackgroundScheduler().advanceBy(0);
48671d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
48771d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
4880fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    /**
4890fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Runs any immediately runnable tasks previously queued on the UI thread,
4900fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * e.g. by {@link Activity#runOnUiThread(Runnable)} or {@link android.os.AsyncTask#onPostExecute(Object)}.
491b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * <p/>
4920fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * <p/>
4930fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Note: calling this method does not pause or un-pause the scheduler.
4940fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     */
49571d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public static void runUiThreadTasks() {
496a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz        getUiThreadScheduler().advanceBy(0);
49771d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
498cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
499cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    /**
500bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin     * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers.
501cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     *
502b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param statusCode   the status code of the response
503cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @param responseBody the body of the response
504cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     */
505b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static void addPendingHttpResponse(int statusCode, String responseBody) {
506f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addPendingHttpResponse(statusCode, responseBody);
507cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    }
508cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
509cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    /**
510bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin     * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers.
511cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     *
512cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @param httpResponse the response
513cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     */
514b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static void addPendingHttpResponse(HttpResponse httpResponse) {
515f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addPendingHttpResponse(httpResponse);
516cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    }
517cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
518cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    /**
5197cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Accessor to obtain HTTP requests made during the current test in the order in which they were made.
520cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     *
521cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @param index index of the request to retrieve.
522cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @return the requested request.
523cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     */
524b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static HttpRequest getSentHttpRequest(int index) {
525b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz        return ShadowDefaultRequestDirector.getSentHttpRequest(index);
526cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    }
527cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
5287cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
5297cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Accessor to obtain metadata for an HTTP request made during the current test in the order in which they were made.
5307cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
5317cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param index index of the request to retrieve.
5327cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @return the requested request metadata.
5337cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
5347cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static HttpRequestInfo getSentHttpRequestInfo(int index) {
5357cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin        return ShadowDefaultRequestDirector.getSentHttpRequestInfo(index);
5367cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
5377cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
5387cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
5397cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule. The response will be returned when the rule is matched.
5407cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
541b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param method   method to match.
542b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param uri      uri to match.
5437cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param response response to return when a match is found.
5447cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
5457cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void addHttpResponseRule(String method, String uri, HttpResponse response) {
546f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(method, uri, response);
5477cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
5487cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
5497cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
5507cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule with a default method of GET. The response will be returned when the rule is matched.
5517cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
552b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param uri      uri to match.
5537cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param response response to return when a match is found.
5547cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
5557cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void addHttpResponseRule(String uri, HttpResponse response) {
556f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(uri, response);
5577cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
5587cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
5597cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
5607cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule. The response will be returned when the rule is matched.
5617cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
562b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param uri      uri to match.
5637cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param response response to return when a match is found.
5647cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
5657cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void addHttpResponseRule(String uri, String response) {
566f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(uri, response);
5677cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
5687cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
5697cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
5707cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule. The response will be returned when the rule is matched.
5717cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
5727cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param requestMatcher custom {@code RequestMatcher}.
573b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param response       response to return when a match is found.
5747cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
575f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    public static void addHttpResponseRule(FakeHttpLayer.RequestMatcher requestMatcher, HttpResponse response) {
576f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(requestMatcher, response);
577f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    }
578f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin
579f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    public static FakeHttpLayer getFakeHttpLayer() {
5807d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin        return getShadowApplication().getFakeHttpLayer();
5817cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
5827cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
583d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin    public static void setDefaultHttpResponse(int statusCode, String responseBody) {
584d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin        getFakeHttpLayer().setDefaultHttpResponse(statusCode, responseBody);
585d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin    }
586d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin
5877cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void setDefaultHttpResponse(HttpResponse defaultHttpResponse) {
588f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().setDefaultHttpResponse(defaultHttpResponse);
589b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    }
5905dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
5915dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void pauseLooper(Looper looper) {
5925dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.pauseLooper(looper);
5935dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
5945dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
5955dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void unPauseLooper(Looper looper) {
5965dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.unPauseLooper(looper);
5975dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
5985dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
5995dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void pauseMainLooper() {
6005dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.pauseMainLooper();
6015dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
6025dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
6035dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void unPauseMainLooper() {
6045dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.unPauseMainLooper();
6055dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
6065dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
607a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz    public static Scheduler getUiThreadScheduler() {
608a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz        return shadowOf(Looper.getMainLooper()).getScheduler();
609a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz    }
6107d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin
6110fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    public static Scheduler getBackgroundScheduler() {
6120fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin        return getShadowApplication().getBackgroundScheduler();
6130fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    }
6140fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin
6157d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin    public static ShadowApplication getShadowApplication() {
6167d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin        return shadowOf(Robolectric.application);
6177d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin    }
618c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams
619c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    /**
620c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * Calls {@code performClick()} on a {@code View} after ensuring that it and its ancestors are visible and that it
621c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * is enabled.
622c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     *
623c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * @param view the view to click on
624c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * @return true if {@code View.OnClickListener}s were found and fired, false otherwise.
625c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * @throws RuntimeException if the preconditions are not met.
626c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     */
627c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    public static boolean clickOn(View view) {
628c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        return shadowOf(view).checkedPerformClick();
629c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    }
630c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams
631c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    public static String visualize(View view) {
632c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        Canvas canvas = new Canvas();
633c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        view.draw(canvas);
634c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        return shadowOf(canvas).getDescription();
635c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    }
636c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin
637c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    public static String visualize(Canvas canvas) {
638c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin        return shadowOf(canvas).getDescription();
639c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    }
640c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin
641c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    public static String visualize(Bitmap bitmap) {
642c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin        return shadowOf(bitmap).getDescription();
643c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    }
6440b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher}
645