Robolectric.java revision be87a589a85b713d1755c36b2eca8462177f91f3
1345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williamspackage com.xtremelabs.robolectric;
20b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher
32ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.Activity;
42ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.ActivityGroup;
52ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.ActivityManager;
62ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.AlarmManager;
72ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.AlertDialog;
82ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.Application;
92ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.Dialog;
102ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.KeyguardManager;
112ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.ListActivity;
122ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.Notification;
132ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.NotificationManager;
142ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.PendingIntent;
152ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.ProgressDialog;
162ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.app.Service;
171fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.appwidget.AppWidgetManager;
18b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williamsimport android.bluetooth.BluetoothAdapter;
19b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williamsimport android.bluetooth.BluetoothDevice;
202e790fd8d977ca70d83da5bcaeb0beca290ff237Lowell Kirsh & Ryan Richardimport android.content.ContentResolver;
219893f7266e7dcc1332743887045bd69991441421Christian Williamsimport android.content.ContentValues;
221fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.Context;
231fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.ContextWrapper;
241fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.Intent;
259e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowhamimport android.content.pm.ResolveInfo;
2670a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silvaimport android.content.res.AssetManager;
27cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphreyimport android.content.res.Configuration;
281fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.res.Resources;
29b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesiimport android.database.sqlite.SQLiteCursor;
309893f7266e7dcc1332743887045bd69991441421Christian Williamsimport android.database.sqlite.SQLiteDatabase;
3128dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesiimport android.database.sqlite.SQLiteOpenHelper;
323a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesiimport android.database.sqlite.SQLiteQueryBuilder;
332ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.graphics.Bitmap;
342ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.graphics.Canvas;
352ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.graphics.ColorMatrix;
362ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.graphics.Matrix;
372ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.graphics.Paint;
382ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.graphics.Path;
392ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.graphics.Rect;
401fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.graphics.drawable.BitmapDrawable;
41a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultzimport android.graphics.drawable.ColorDrawable;
421fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.graphics.drawable.Drawable;
43145ab32c7d7c170f2eb4f44660e2ab4c045bc5f1Tim Labeeuw & Tyler Schultzimport android.graphics.drawable.ShapeDrawable;
4431af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesiimport android.hardware.Camera;
4506abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richardimport android.location.Geocoder;
461fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.location.LocationManager;
4736a56b1b82e6409c81ccc87ab7148cef105b4517Michael Portuesiimport android.media.AudioManager;
485480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphreyimport android.media.MediaPlayer;
4931af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesiimport android.media.MediaRecorder;
507581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarseimport android.net.ConnectivityManager;
517581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarseimport android.net.NetworkInfo;
52523401082f8da71727f102003baf023e6c356386adriancowhamimport android.net.wifi.WifiManager;
532ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.os.CountDownTimer;
542ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.os.Handler;
552ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.os.Looper;
562ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.os.Parcel;
572ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.os.PowerManager;
582ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.preference.DialogPreference;
592ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.preference.ListPreference;
602ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.preference.Preference;
612ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.preference.PreferenceActivity;
622ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.preference.PreferenceCategory;
632ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.preference.PreferenceGroup;
642ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.preference.PreferenceScreen;
65c59af8991708feeca9cdfb028101113a79ef73f4Glenn Jahnke & Lenny Turetskyimport android.telephony.TelephonyManager;
668bdd4405f79972e8c153562e96afa912f3fe81c8Graeme Duncanimport android.text.format.DateFormat;
672ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.view.Display;
682ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.view.LayoutInflater;
692ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.view.MenuInflater;
702ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.view.MotionEvent;
712ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.view.View;
722ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.view.ViewGroup;
733f78da998ce73c1c7c25798a7e7e4f19287eff23Michael Portuesiimport android.view.animation.Animation;
7486b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodlesimport android.view.animation.AnimationUtils;
75f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport android.view.inputmethod.InputMethodManager;
7632fa4fc29ce30047ce5c3c00e3eea5cf1c27b056adriancowhamimport android.webkit.CookieSyncManager;
77c1a22de534a98808eb2ce5c6c956e25c0d9625e2Rich Humphreyimport android.webkit.SslErrorHandler;
780189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphreyimport android.webkit.WebSettings;
796cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultzimport android.webkit.WebView;
802ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.AbsSeekBar;
812ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.AdapterView;
822ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.ArrayAdapter;
832ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.CursorAdapter;
842ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.ExpandableListView;
852ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.Filter;
862ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.FrameLayout;
872ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.GridView;
882ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.ImageView;
892ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.ListView;
902ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.ProgressBar;
912ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.RatingBar;
922ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.RemoteViews;
932ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.ResourceCursorAdapter;
942ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.SeekBar;
952ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.SimpleCursorAdapter;
962ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.TabHost;
972ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.TextView;
982ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.Toast;
992ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.VideoView;
1002ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport android.widget.ZoomButtonsController;
101b5d56e95f27d484ad3098ac18867262e7c8826c1Christian Williams & Phil Goodwinimport com.xtremelabs.robolectric.bytecode.RobolectricInternals;
102b5d56e95f27d484ad3098ac18867262e7c8826c1Christian Williams & Phil Goodwinimport com.xtremelabs.robolectric.bytecode.ShadowWrangler;
10307a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwinimport com.xtremelabs.robolectric.shadows.*;
1042cdde11355e7c249e83a8b7aaabae5977bbc3e49Phil Goodwinimport com.xtremelabs.robolectric.tester.org.apache.http.FakeHttpLayer;
1052cdde11355e7c249e83a8b7aaabae5977bbc3e49Phil Goodwinimport com.xtremelabs.robolectric.tester.org.apache.http.HttpRequestInfo;
1062cdde11355e7c249e83a8b7aaabae5977bbc3e49Phil Goodwinimport com.xtremelabs.robolectric.tester.org.apache.http.RequestMatcher;
10771d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williamsimport com.xtremelabs.robolectric.util.Scheduler;
1086f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sancheimport org.apache.http.Header;
109cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultzimport org.apache.http.HttpRequest;
110cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultzimport org.apache.http.HttpResponse;
111b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultzimport org.apache.http.impl.client.DefaultRequestDirector;
1120b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher
1132ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport java.lang.reflect.Field;
1142ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richardimport java.lang.reflect.Modifier;
1150b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisherimport java.util.Arrays;
1160b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisherimport java.util.List;
1170b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher
118bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin@SuppressWarnings({"UnusedDeclaration"})
119345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williamspublic class Robolectric {
1208baea4cbf332f0e0acf559dfab4aa59dd7c71003Christian Williams & Ryan Richard    public static Application application;
1218baea4cbf332f0e0acf559dfab4aa59dd7c71003Christian Williams & Ryan Richard
1220b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher    public static <T> T newInstanceOf(Class<T> clazz) {
123111e2299b5157f072d9e62406bd3c6fea9036cd4Christian Williams & Phil Goodwin        return RobolectricInternals.newInstanceOf(clazz);
1240b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher    }
1250b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher
1261741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin    public static Object newInstanceOf(String className) {
1271741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        try {
1281741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin            Class<?> clazz = Class.forName(className);
1291741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin            if (clazz != null) {
1301741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin                return newInstanceOf(clazz);
1311741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin            }
1321741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        } catch (ClassNotFoundException e) {
1331741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        }
1341741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        return null;
1351741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin    }
1361741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin
137e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static void bindShadowClass(Class<?> shadowClass) {
138111e2299b5157f072d9e62406bd3c6fea9036cd4Christian Williams & Phil Goodwin        RobolectricInternals.bindShadowClass(shadowClass);
139e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    }
140e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
141e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static void bindDefaultShadowClasses() {
142638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams        bindShadowClasses(getDefaultShadowClasses());
143638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams    }
144638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams
145638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams    public static void bindShadowClasses(List<Class<?>> shadowClasses) {
146638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams        for (Class<?> shadowClass : shadowClasses) {
147638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams            bindShadowClass(shadowClass);
148e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams        }
149e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    }
150e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
151cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz    /**
152cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * Invoke this utility method in tests to reveal which Android api classes and methods are being invoked
153cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * for which there are no shadows or shadow methods. This helps expose which methods are being invoked
154cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * either by a third party library or application code which need new shadow methods to be written. Generates
155cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * output for the current test only.
156cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     */
157cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz    public static void logMissingInvokedShadowMethods() {
158cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz        ShadowWrangler.getInstance().logMissingInvokedShadowMethods();
159cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz    }
160cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz
161e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static List<Class<?>> getDefaultShadowClasses() {
1620b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher        return Arrays.asList(
163c146ad8871a32bbf62aca259ede77d3f9cd07773Tyler Schultz                ShadowAbsoluteLayout.class,
1646bdff425fce6705103662f20370c9b371ccf23adRich Humphrey                ShadowAbsSeekBar.class,
165c5e7ea096261d2e0220a763119aeb58fab47de2eMike Grafton & Tyler Schultz                ShadowActivityGroup.class,
166afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAbsSpinner.class,
1679893f7266e7dcc1332743887045bd69991441421Christian Williams                ShadowAbstractCursor.class,
168afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowActivity.class,
169f68d6a67f035c4bde0c95dcf6c3aa2d68a436972Michael Portuesi                ShadowActivityManager.class,
170afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAdapterView.class,
171afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAddress.class,
172cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowAlarmManager.class,
173afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAlertDialog.class,
174afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAlertDialog.ShadowBuilder.class,
1753f78da998ce73c1c7c25798a7e7e4f19287eff23Michael Portuesi                ShadowAnimation.class,
17686b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles                ShadowAnimationUtils.class,
177afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowApplication.class,
178afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAppWidgetManager.class,
179e9c420439254fc0c893e44987db10e1418fff338mylacc                ShadowArrayAdapter.class,
180114296321cba71f8133713306049ce3b411e8563Gonçalo Silva                ShadowAssetManager.class,
18171d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams                ShadowAsyncTask.class,
18236a56b1b82e6409c81ccc87ab7148cef105b4517Michael Portuesi                ShadowAudioManager.class,
183afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowBaseAdapter.class,
184ae26238c7d01caef84ceddd8ffb42c32306918d6Josh Lauer & Christian Williams                ShadowBitmap.class,
185afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowBitmapDrawable.class,
186b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams                ShadowBitmapFactory.class,
187b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams                ShadowBluetoothAdapter.class,
188b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams                ShadowBluetoothDevice.class,
18975d564ab2b02cbe8a0d8cb33779530f72ea813abChristian Williams & Ryan Richard                ShadowBundle.class,
19031af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi                ShadowCamera.class,
19131af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi                ShadowCameraParameters.class,
192cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowCameraSize.class,
193afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowCanvas.class,
194a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz                ShadowColorDrawable.class,
195e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams                ShadowColorMatrix.class,
196e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams                ShadowColorMatrixColorFilter.class,
197b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowColorStateList.class,
198afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowComponentName.class,
199cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowCompoundButton.class,
200cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowConfiguration.class,
2017581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse                ShadowConnectivityManager.class,
20220b94927aff24d7bd975d6ee717f1b65da9ee7c1Josh Lauer & Christian Williams                ShadowContentResolver.class,
2039893f7266e7dcc1332743887045bd69991441421Christian Williams                ShadowContentValues.class,
204afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowContext.class,
205afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowContextWrapper.class,
2061dcccba609fb2036994803ca6d71f9c76e1fe8e9Chee Wong                ShadowContextThemeWrapper.class,
207b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowCookieManager.class,
20832fa4fc29ce30047ce5c3c00e3eea5cf1c27b056adriancowham                ShadowCookieSyncManager.class,
209c97f858ddc2222e96a6492c5fba30775cfeac4e4Zoodles                ShadowCountDownTimer.class,
2100dabe713bf2d78df246d9cff18ed11363491a2acAdam Cohen-Rose                ShadowCursorAdapter.class,
2118bdd4405f79972e8c153562e96afa912f3fe81c8Graeme Duncan                ShadowDateFormat.class,
212cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz                ShadowDefaultRequestDirector.class,
213d1eee6c4ec28a6c17455ce5c29efb833f30dd5d0Michael Portuesi                ShadowDisplay.class,
214afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowDrawable.class,
215afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowDialog.class,
21694c593173ef0ac64cca724199d6228057e1c8fd8Rich Humphrey                ShadowDialogPreference.class,
217afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowEditText.class,
218e9d4b241c1e9b9225da1424698942c358ef22162Chris Heisterkamp & Joe Moore                ShadowEnvironment.class,
2199044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian                ShadowExpandableListView.class,
2203783a296406676c639a954d14ef464a4207de689Joe Moore & Lowell Kirsh                ShadowFilter.class,
221d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams                ShadowFloatMath.class,
222b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz                ShadowFrameLayout.class,
22306abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard                ShadowGeocoder.class,
224afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowGeoPoint.class,
2255be5c864634de9072b89911eab6d0c8d772c9ad3Rich Humphrey                ShadowGridView.class,
226afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowHandler.class,
22750526fd965fbed3d06b5213d62b2c76db9932a2fRyan Richard                ShadowHtml.class,
228afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowImageView.class,
229f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey                ShadowInputMethodManager.class,
230afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowIntent.class,
231afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowIntent.class,
232afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowIntentFilter.class,
233afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowItemizedOverlay.class,
234b188febae0b24463565d9b6157bd43e0ff22a269David Farber & Ryan Richard                ShadowKeyEvent.class,
23508fb8f8709b227d9c12f5197c1884f22137075a5adriancowham                ShadowKeyguardManager.class,
236afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLayoutInflater.class,
237afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLayoutParams.class,
23884c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore                ShadowLinearLayout.class,
239afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowListActivity.class,
240db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey                ShadowListPreference.class,
241afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowListView.class,
242afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLocation.class,
243afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLocationManager.class,
244afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLooper.class,
245afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMapController.class,
246afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMapActivity.class,
247afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMapView.class,
2480d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams                ShadowMatrix.class,
2495480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey                ShadowMediaPlayer.class,
25076209fe88929d880ac6e008d5a3e6e1e1dd4939aPhil Goodwin                ShadowMediaRecorder.class,
251d3f9a56dffcdd129355351019aef9652cce0d6b2Josh Lauer & Christian Williams                ShadowMediaStore.ShadowImages.ShadowMedia.class,
25276209fe88929d880ac6e008d5a3e6e1e1dd4939aPhil Goodwin                ShadowMenuInflater.class,
253afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMotionEvent.class,
25407a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin                ShadowNotification.class,
25507a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin                ShadowNotificationManager.class,
2567581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse                ShadowNetworkInfo.class,
257afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowOverlayItem.class,
258afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPaint.class,
2592ed797adb849f96d26ffaae31d68a2a67f56f27bJan Berkel                ShadowPair.class,
260cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham                ShadowParcel.class,
261afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPath.class,
262afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPendingIntent.class,
263afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPoint.class,
264d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams                ShadowPointF.class,
265b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowPowerManager.class,
266079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey                ShadowPreference.class,
267eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey                ShadowPreferenceActivity.class,
268eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey                ShadowPreferenceCategory.class,
269eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey                ShadowPreferenceGroup.class,
270e8637c922e4f8e681769d63689accb89e6108056Michael Portuesi                ShadowPreferenceManager.class,
271860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey                ShadowPreferenceScreen.class,
272079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey                ShadowProgressBar.class,
2734ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey                ShadowProgressDialog.class,
27484c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore                ShadowRadioButton.class,
27584c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore                ShadowRadioGroup.class,
276c5e7ea096261d2e0220a763119aeb58fab47de2eMike Grafton & Tyler Schultz                ShadowRatingBar.class,
277afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowRect.class,
2789e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham                ShadowResolveInfo.class,
279afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowRemoteViews.class,
2800dabe713bf2d78df246d9cff18ed11363491a2acAdam Cohen-Rose                ShadowResourceCursorAdapter.class,
281afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowResources.class,
282b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowResources.ShadowTheme.class,
283b82ccb9a3ef511d607ca5c4238a50d78a6aeaebaRich Humphrey                ShadowSeekBar.class,
284afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowService.class,
285afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSettings.class,
286afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSettings.ShadowSecure.class,
287afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSettings.ShadowSystem.class,
2880dabe713bf2d78df246d9cff18ed11363491a2acAdam Cohen-Rose                ShadowSimpleCursorAdapter.class,
289145ab32c7d7c170f2eb4f44660e2ab4c045bc5f1Tim Labeeuw & Tyler Schultz                ShadowShapeDrawable.class,
290afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSpannableStringBuilder.class,
2919893f7266e7dcc1332743887045bd69991441421Christian Williams                ShadowSQLiteDatabase.class,
292b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi                ShadowSQLiteCursor.class,
29328dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi                ShadowSQLiteOpenHelper.class,
2943a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi                ShadowSQLiteQueryBuilder.class,
295c1a22de534a98808eb2ce5c6c956e25c0d9625e2Rich Humphrey                ShadowSslErrorHandler.class,
2967dc1a70de2b28bdf70d887accfb5805f3497bda8Josh Lauer & Christian Williams                ShadowSurfaceView.class,
297203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard                ShadowTabActivity.class,
298203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard                ShadowTabHost.class,
299203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard                ShadowTabSpec.class,
300c59af8991708feeca9cdfb028101113a79ef73f4Glenn Jahnke & Lenny Turetsky                ShadowTelephonyManager.class,
301afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowTextUtils.class,
302afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowTextView.class,
303afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowToast.class,
304b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowTypedArray.class,
305afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowTypedValue.class,
306237888bb1e926aea523388de5d511a35f38506efPhil Goodwin & Tyler Schultz                ShadowURLSpan.class,
3072afd69b7f52c3c4c1fbe17f46e84d0cb178d3adeKathy Lin                ShadowVideoView.class,
308afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowView.class,
309afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowViewGroup.class,
3100e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams                ShadowViewStub.class,
3110189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey                ShadowWebSettings.class,
3129ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz                ShadowWebView.class,
313afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowWifiManager.class,
314e2f97afa26ab916fbc36ca1bbf18ba507023ab50Christian Williams                ShadowWindow.class,
315afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowZoomButtonsController.class
316adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams        );
3170b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher    }
31890008046fcb6aac20be2df7a0aa07129f6f0d62bIan Fisher
319345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williams    public static void resetStaticState() {
320e6dfaf271dbaf3ac1bb82d953669a56a02fc71d6Phil Goodwin & Tyler Schultz        ShadowWrangler.getInstance().silence();
321345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williams        Robolectric.application = new Application();
322d092cebc8c9179d3a138827fd65961b867e2c53fJosh Lauer & Christian Williams        ShadowBitmapFactory.reset();
323be87a589a85b713d1755c36b2eca8462177f91f3David Farber & Joe Moore        ShadowDrawable.reset();
3242ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard        ShadowMediaStore.reset();
32590008046fcb6aac20be2df7a0aa07129f6f0d62bIan Fisher    }
3261fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
3279122a05312e767618ba0545a951df9cab86c8716Christian Williams    public static <T> T directlyOn(T shadowedObject) {
3289122a05312e767618ba0545a951df9cab86c8716Christian Williams        return RobolectricInternals.directlyOn(shadowedObject);
3299122a05312e767618ba0545a951df9cab86c8716Christian Williams    }
3309122a05312e767618ba0545a951df9cab86c8716Christian Williams
33129cbbdc99eee133fd8bccb3084fa3881a9ee1233adriancowham    public static ShadowCursorAdapter shadowOf(CursorAdapter instance) {
33229cbbdc99eee133fd8bccb3084fa3881a9ee1233adriancowham    	return (ShadowCursorAdapter) shadowOf_(instance);
33329cbbdc99eee133fd8bccb3084fa3881a9ee1233adriancowham    }
33429cbbdc99eee133fd8bccb3084fa3881a9ee1233adriancowham
335433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowDrawable shadowOf(Drawable instance) {
336433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowDrawable) shadowOf_(instance);
3371fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3381fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
339a915d5453773d2acb8cc72a70bf8460d6fd6cd26Lowell Kirsh & Ryan Richard    public static ShadowService shadowOf(Service instance) {
340a915d5453773d2acb8cc72a70bf8460d6fd6cd26Lowell Kirsh & Ryan Richard        return (ShadowService) shadowOf_(instance);
341a915d5453773d2acb8cc72a70bf8460d6fd6cd26Lowell Kirsh & Ryan Richard    }
342a915d5453773d2acb8cc72a70bf8460d6fd6cd26Lowell Kirsh & Ryan Richard
343433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowToast shadowOf(Toast instance) {
344433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowToast) shadowOf_(instance);
3451fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3461fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
3477581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    public static ShadowNetworkInfo shadowOf(NetworkInfo instance) {
3487581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse        return (ShadowNetworkInfo) shadowOf_(instance);
3497581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    }
3507581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse
3512e790fd8d977ca70d83da5bcaeb0beca290ff237Lowell Kirsh & Ryan Richard    public static ShadowContentResolver shadowOf(ContentResolver instance) {
3522e790fd8d977ca70d83da5bcaeb0beca290ff237Lowell Kirsh & Ryan Richard        return (ShadowContentResolver) shadowOf_(instance);
3532e790fd8d977ca70d83da5bcaeb0beca290ff237Lowell Kirsh & Ryan Richard    }
3542e790fd8d977ca70d83da5bcaeb0beca290ff237Lowell Kirsh & Ryan Richard
3557581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    public static ShadowConnectivityManager shadowOf(ConnectivityManager instance) {
3567581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse        return (ShadowConnectivityManager) shadowOf_(instance);
3577581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    }
3587581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse
359523401082f8da71727f102003baf023e6c356386adriancowham    public static ShadowWifiManager shadowOf(WifiManager instance){
360523401082f8da71727f102003baf023e6c356386adriancowham    	return (ShadowWifiManager) shadowOf_(instance);
361523401082f8da71727f102003baf023e6c356386adriancowham    }
362523401082f8da71727f102003baf023e6c356386adriancowham
363433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowBitmapDrawable shadowOf(BitmapDrawable instance) {
364433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowBitmapDrawable) shadowOf_(instance);
3651fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3661fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
367433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowZoomButtonsController shadowOf(ZoomButtonsController instance) {
368433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowZoomButtonsController) shadowOf_(instance);
3691fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3701fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
371433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowListView shadowOf(ListView instance) {
372433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowListView) shadowOf_(instance);
3731fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3741fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
375cb122d30b23483c2cec905e74c747e6bc448cfbaPhil Goodwin    public static ShadowExpandableListView shadowOf(ExpandableListView instance) {
376cb122d30b23483c2cec905e74c747e6bc448cfbaPhil Goodwin        return (ShadowExpandableListView) shadowOf_(instance);
3779044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian    }
3789044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian
379433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowActivity shadowOf(Activity instance) {
380433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowActivity) shadowOf_(instance);
3811fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3821fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
3833783a296406676c639a954d14ef464a4207de689Joe Moore & Lowell Kirsh    public static ShadowArrayAdapter shadowOf(ArrayAdapter instance) {
3843783a296406676c639a954d14ef464a4207de689Joe Moore & Lowell Kirsh        return (ShadowArrayAdapter) shadowOf_(instance);
3853783a296406676c639a954d14ef464a4207de689Joe Moore & Lowell Kirsh    }
3863783a296406676c639a954d14ef464a4207de689Joe Moore & Lowell Kirsh
3873783a296406676c639a954d14ef464a4207de689Joe Moore & Lowell Kirsh    public static ShadowFilter shadowOf(Filter instance) {
3883783a296406676c639a954d14ef464a4207de689Joe Moore & Lowell Kirsh        return (ShadowFilter) shadowOf_(instance);
3893783a296406676c639a954d14ef464a4207de689Joe Moore & Lowell Kirsh    }
3903783a296406676c639a954d14ef464a4207de689Joe Moore & Lowell Kirsh
391433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowContextWrapper shadowOf(ContextWrapper instance) {
392433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowContextWrapper) shadowOf_(instance);
3931fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3941fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
395f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    public static ShadowApplication shadowOf(Application instance) {
396f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        return (ShadowApplication) shadowOf_(instance);
397f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    }
398f26a90f66bc715bac5510479ea659224d49cc39dRich Humphrey
399f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    public static ShadowContext shadowOf(Context instance) {
400f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        return (ShadowContext) shadowOf_(instance);
4011fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4021fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
40332fa4fc29ce30047ce5c3c00e3eea5cf1c27b056adriancowham    public static ShadowCookieSyncManager shadowOf( CookieSyncManager instance ) {
40432fa4fc29ce30047ce5c3c00e3eea5cf1c27b056adriancowham        return (ShadowCookieSyncManager) shadowOf_(instance);
40532fa4fc29ce30047ce5c3c00e3eea5cf1c27b056adriancowham    }
40632fa4fc29ce30047ce5c3c00e3eea5cf1c27b056adriancowham
407433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowPaint shadowOf(Paint instance) {
408433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowPaint) shadowOf_(instance);
4091fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4101fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
411433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowPath shadowOf(Path instance) {
412433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowPath) shadowOf_(instance);
4131fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4141fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
415079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey    public static ShadowPreference shadowOf(Preference instance) {
416079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey        return (ShadowPreference) shadowOf_(instance);
417079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey    }
418eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey
419eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    public static ShadowPreferenceActivity shadowOf(PreferenceActivity instance) {
420eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey        return (ShadowPreferenceActivity) shadowOf_(instance);
421eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    }
422eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey
423eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    public static ShadowPreferenceCategory shadowOf(PreferenceCategory instance) {
424eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey        return (ShadowPreferenceCategory) shadowOf_(instance);
425eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    }
426eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey
427eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    public static ShadowPreferenceGroup shadowOf(PreferenceGroup instance) {
428eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey        return (ShadowPreferenceGroup) shadowOf_(instance);
429eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    }
430079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey
431860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey    public static ShadowPreferenceScreen shadowOf(PreferenceScreen instance) {
432860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey        return (ShadowPreferenceScreen) shadowOf_(instance);
433860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey    }
434079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey
435079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey    public static ShadowProgressBar shadowOf(ProgressBar instance) {
436079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey        return (ShadowProgressBar) shadowOf_(instance);
437079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey    }
438079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey
4394ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey    public static ShadowProgressDialog shadowOf(ProgressDialog instance) {
4404ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey        return (ShadowProgressDialog) shadowOf_(instance);
4414ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey    }
4424ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey
443433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowListActivity shadowOf(ListActivity instance) {
444433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowListActivity) shadowOf_(instance);
4451fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4461fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
447c5e7ea096261d2e0220a763119aeb58fab47de2eMike Grafton & Tyler Schultz    public static ShadowActivityGroup shadowOf(ActivityGroup instance) {
448c5e7ea096261d2e0220a763119aeb58fab47de2eMike Grafton & Tyler Schultz        return (ShadowActivityGroup) shadowOf_(instance);
449c5e7ea096261d2e0220a763119aeb58fab47de2eMike Grafton & Tyler Schultz    }
450c5e7ea096261d2e0220a763119aeb58fab47de2eMike Grafton & Tyler Schultz
451db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey    public static ShadowListPreference shadowOf(ListPreference instance) {
452db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey        return (ShadowListPreference) shadowOf_(instance);
453db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey    }
454db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey
455433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowHandler shadowOf(Handler instance) {
456433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowHandler) shadowOf_(instance);
4571fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4581fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
459145ab32c7d7c170f2eb4f44660e2ab4c045bc5f1Tim Labeeuw & Tyler Schultz    public static ShadowShapeDrawable shadowOf(ShapeDrawable instance) {
460145ab32c7d7c170f2eb4f44660e2ab4c045bc5f1Tim Labeeuw & Tyler Schultz        return (ShadowShapeDrawable) shadowOf_(instance);
461145ab32c7d7c170f2eb4f44660e2ab4c045bc5f1Tim Labeeuw & Tyler Schultz    }
462145ab32c7d7c170f2eb4f44660e2ab4c045bc5f1Tim Labeeuw & Tyler Schultz
463c1a22de534a98808eb2ce5c6c956e25c0d9625e2Rich Humphrey    public static ShadowSslErrorHandler shadowOf(SslErrorHandler instance) {
464c1a22de534a98808eb2ce5c6c956e25c0d9625e2Rich Humphrey        return (ShadowSslErrorHandler) shadowOf_(instance);
465c1a22de534a98808eb2ce5c6c956e25c0d9625e2Rich Humphrey    }
4661fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
467e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams    public static ShadowColorMatrix shadowOf(ColorMatrix instance) {
468e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams        return (ShadowColorMatrix) shadowOf_(instance);
469e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams    }
470e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams
471433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowIntent shadowOf(Intent instance) {
472433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowIntent) shadowOf_(instance);
4731fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4741fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
475433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowView shadowOf(View instance) {
476433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowView) shadowOf_(instance);
4771fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4781fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
479a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz    public static ShadowColorDrawable shadowOf(ColorDrawable instance) {
480a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz        return (ShadowColorDrawable) shadowOf_(instance);
481a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz    }
482a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
483433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowViewGroup shadowOf(ViewGroup instance) {
484433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowViewGroup) shadowOf_(instance);
4851fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4861fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
4870189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey    public static ShadowWebSettings shadowOf(WebSettings instance) {
4880189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey        return (ShadowWebSettings) shadowOf_(instance);
4890189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey    }
4900189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey
4916cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz    public static ShadowWebView shadowOf(WebView instance) {
4926cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz        return (ShadowWebView) shadowOf_(instance);
4936cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz    }
4946cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz
495433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowAdapterView shadowOf(AdapterView instance) {
496433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowAdapterView) shadowOf_(instance);
4971fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4981fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
499433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowTextView shadowOf(TextView instance) {
500433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowTextView) shadowOf_(instance);
5011fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
5021fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
503433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowImageView shadowOf(ImageView instance) {
504433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowImageView) shadowOf_(instance);
5051fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
5061fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
5079e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham    public static ShadowResolveInfo shadowOf(ResolveInfo instance ) {
5089e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham    	return (ShadowResolveInfo) shadowOf_(instance);
5099e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham    }
5109e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham
511433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowRemoteViews shadowOf(RemoteViews instance) {
512433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowRemoteViews) shadowOf_(instance);
5131fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
5141fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
515433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowDialog shadowOf(Dialog instance) {
516433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowDialog) shadowOf_(instance);
5171fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
51894c593173ef0ac64cca724199d6228057e1c8fd8Rich Humphrey
51994c593173ef0ac64cca724199d6228057e1c8fd8Rich Humphrey    public static ShadowDialogPreference shadowOf(DialogPreference instance) {
52094c593173ef0ac64cca724199d6228057e1c8fd8Rich Humphrey        return (ShadowDialogPreference) shadowOf_(instance);
52194c593173ef0ac64cca724199d6228057e1c8fd8Rich Humphrey    }
5221fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
523b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static ShadowDefaultRequestDirector shadowOf(DefaultRequestDirector instance) {
524cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz        return (ShadowDefaultRequestDirector) shadowOf_(instance);
525c95377d49257364984344908f301574ebe8d4d9cPhil Goodwin & Tyler Schultz    }
526c95377d49257364984344908f301574ebe8d4d9cPhil Goodwin & Tyler Schultz
527433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowAlertDialog shadowOf(AlertDialog instance) {
528433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowAlertDialog) shadowOf_(instance);
5291fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
5301fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
531433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowLooper shadowOf(Looper instance) {
532433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowLooper) shadowOf_(instance);
5331fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
5341fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
535433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowCanvas shadowOf(Canvas instance) {
536433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowCanvas) shadowOf_(instance);
5371fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
5381fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
539433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowLocationManager shadowOf(LocationManager instance) {
540433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowLocationManager) shadowOf_(instance);
5411fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
5421fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
543433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowAppWidgetManager shadowOf(AppWidgetManager instance) {
544433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowAppWidgetManager) shadowOf_(instance);
5451fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
5461fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
547433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowResources shadowOf(Resources instance) {
548433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowResources) shadowOf_(instance);
5491fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
5501fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
551e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static ShadowLayoutInflater shadowOf(LayoutInflater instance) {
55206abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard        return (ShadowLayoutInflater) shadowOf_(instance);
553e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    }
554adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams
555b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin    public static ShadowMenuInflater shadowOf(MenuInflater instance) {
556b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin        return (ShadowMenuInflater) shadowOf_(instance);
557b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin    }
558b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin
559adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    public static ShadowDisplay shadowOf(Display instance) {
5604a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams        return (ShadowDisplay) shadowOf_(instance);
561adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    }
562adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams
563adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    public static ShadowAudioManager shadowOf(AudioManager instance) {
5644a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams        return (ShadowAudioManager) shadowOf_(instance);
5654a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams    }
566e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
56706abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard    public static ShadowGeocoder shadowOf(Geocoder instance) {
56806abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard        return (ShadowGeocoder) shadowOf_(instance);
569adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    }
570e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
5719893f7266e7dcc1332743887045bd69991441421Christian Williams    public static ShadowSQLiteDatabase shadowOf(SQLiteDatabase other) {
5729893f7266e7dcc1332743887045bd69991441421Christian Williams        return (ShadowSQLiteDatabase) Robolectric.shadowOf_(other);
5739893f7266e7dcc1332743887045bd69991441421Christian Williams    }
574f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
575b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi    public static ShadowSQLiteCursor shadowOf(SQLiteCursor other) {
576b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi        return (ShadowSQLiteCursor) Robolectric.shadowOf_(other);
577b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi    }
5789893f7266e7dcc1332743887045bd69991441421Christian Williams
57928dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi    public static ShadowSQLiteOpenHelper shadowOf(SQLiteOpenHelper other) {
58028dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi        return (ShadowSQLiteOpenHelper) Robolectric.shadowOf_(other);
58128dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi    }
582f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
5833a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi    public static ShadowSQLiteQueryBuilder shadowOf(SQLiteQueryBuilder other) {
5843a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi        return (ShadowSQLiteQueryBuilder) Robolectric.shadowOf_(other);
5853a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi    }
586f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
5879893f7266e7dcc1332743887045bd69991441421Christian Williams    public static ShadowContentValues shadowOf(ContentValues other) {
5889893f7266e7dcc1332743887045bd69991441421Christian Williams        return (ShadowContentValues) Robolectric.shadowOf_(other);
5899893f7266e7dcc1332743887045bd69991441421Christian Williams    }
5909893f7266e7dcc1332743887045bd69991441421Christian Williams
59131af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    public static ShadowCamera shadowOf(Camera instance) {
59231af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi        return (ShadowCamera) shadowOf_(instance);
59331af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    }
594f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
59531af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    public static ShadowCameraParameters shadowOf(Camera.Parameters instance) {
59631af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi        return (ShadowCameraParameters) shadowOf_(instance);
59731af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    }
5989893f7266e7dcc1332743887045bd69991441421Christian Williams
599cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    public static ShadowCameraSize shadowOf(Camera.Size instance) {
600cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey        return (ShadowCameraSize) shadowOf_(instance);
601cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    }
60240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
6035480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey    public static ShadowMediaPlayer shadowOf(MediaPlayer instance) {
6045480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey        return (ShadowMediaPlayer) shadowOf_(instance);
6055480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey    }
6065480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey
60731af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    public static ShadowMediaRecorder shadowOf(MediaRecorder instance) {
60831af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi        return (ShadowMediaRecorder) shadowOf_(instance);
60931af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    }
610f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
61124f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz    public static ShadowAssetManager shadowOf(AssetManager instance) {
61224f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz        return (ShadowAssetManager) Robolectric.shadowOf_(instance);
61324f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz    }
61424f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz
615cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    public static ShadowAlarmManager shadowOf(AlarmManager instance) {
616cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey        return (ShadowAlarmManager) Robolectric.shadowOf_(instance);
617cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    }
618cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey
61940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public static ShadowConfiguration shadowOf(Configuration instance) {
62040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        return (ShadowConfiguration) Robolectric.shadowOf_(instance);
621cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    }
622cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey
623c97f858ddc2222e96a6492c5fba30775cfeac4e4Zoodles    public static ShadowCountDownTimer shadowOf(CountDownTimer instance) {
624c97f858ddc2222e96a6492c5fba30775cfeac4e4Zoodles        return (ShadowCountDownTimer) Robolectric.shadowOf_(instance);
625c97f858ddc2222e96a6492c5fba30775cfeac4e4Zoodles    }
626c97f858ddc2222e96a6492c5fba30775cfeac4e4Zoodles
627b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    public static ShadowBitmap shadowOf(Bitmap other) {
628b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams        return (ShadowBitmap) Robolectric.shadowOf_(other);
629b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    }
630b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams
631b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    public static ShadowBluetoothAdapter shadowOf(BluetoothAdapter other) {
632b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams        return (ShadowBluetoothAdapter) Robolectric.shadowOf_(other);
633b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    }
634b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams
635b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    public static ShadowBluetoothDevice shadowOf(BluetoothDevice other) {
636b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams        return (ShadowBluetoothDevice) Robolectric.shadowOf_(other);
637b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    }
638b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams
6390d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams    public static ShadowMatrix shadowOf(Matrix other) {
6400d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams        return (ShadowMatrix) Robolectric.shadowOf_(other);
6410d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams    }
6420d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams
643d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams    public static ShadowMotionEvent shadowOf(MotionEvent other) {
644d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams        return (ShadowMotionEvent) Robolectric.shadowOf_(other);
645d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams    }
646d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams
64707a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    public static ShadowNotificationManager shadowOf(NotificationManager other) {
64807a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin        return (ShadowNotificationManager) Robolectric.shadowOf_(other);
64907a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    }
65007a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin
65107a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    public static ShadowNotification shadowOf(Notification other) {
65207a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin        return (ShadowNotification) Robolectric.shadowOf_(other);
65307a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    }
65407a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin
6556bdff425fce6705103662f20370c9b371ccf23adRich Humphrey    public static ShadowAbsSeekBar shadowOf(AbsSeekBar instance) {
6566bdff425fce6705103662f20370c9b371ccf23adRich Humphrey        return (ShadowAbsSeekBar) shadowOf_(instance);
6576bdff425fce6705103662f20370c9b371ccf23adRich Humphrey    }
6586bdff425fce6705103662f20370c9b371ccf23adRich Humphrey
659f87e94db052e8cf78eed7b08de5baa2551f4a134sorack    public static ShadowRatingBar shadowOf(RatingBar instance) {
660f87e94db052e8cf78eed7b08de5baa2551f4a134sorack        return (ShadowRatingBar) shadowOf_(instance);
661f87e94db052e8cf78eed7b08de5baa2551f4a134sorack    }
662f87e94db052e8cf78eed7b08de5baa2551f4a134sorack
663b82ccb9a3ef511d607ca5c4238a50d78a6aeaebaRich Humphrey    public static ShadowSeekBar shadowOf(SeekBar instance) {
664b82ccb9a3ef511d607ca5c4238a50d78a6aeaebaRich Humphrey        return (ShadowSeekBar) shadowOf_(instance);
665b82ccb9a3ef511d607ca5c4238a50d78a6aeaebaRich Humphrey    }
666b82ccb9a3ef511d607ca5c4238a50d78a6aeaebaRich Humphrey
667cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham    public static ShadowParcel shadowOf(Parcel instance) {
668cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham    	return (ShadowParcel) shadowOf_(instance);
669cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham    }
670cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham
67186b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    public static ShadowAnimationUtils shadowOf(AnimationUtils instance) {
67286b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    	return (ShadowAnimationUtils) shadowOf_(instance);
67386b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    }
67486b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles
67586b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    public static ShadowGridView shadowOf(GridView instance) {
67686b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    	return (ShadowGridView) shadowOf_(instance);
67786b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    }
6784aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke
679b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz    public static ShadowTabHost shadowOf(TabHost instance) {
680b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz    	return (ShadowTabHost) shadowOf_(instance);
681b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz    }
682b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz
683b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz    public static ShadowTabSpec shadowOf(TabHost.TabSpec instance) {
684b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz    	return (ShadowTabSpec) shadowOf_(instance);
685b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz    }
686b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz
687b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz    public static ShadowFrameLayout shadowOf(FrameLayout instance) {
688b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz    	return (ShadowFrameLayout) shadowOf_(instance);
689b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz    }
690b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz
6914aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke    public static ShadowRect shadowOf(Rect instance) {
6924aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke    	return (ShadowRect) shadowOf_(instance);
6934aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke    }
69486b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles
6951047b8740177c264e807a91bd6beeb09a502f6feDavid Farber & Lowell Kirsh    public static PendingIntent shadowOf(PendingIntent instance) {
6961047b8740177c264e807a91bd6beeb09a502f6feDavid Farber & Lowell Kirsh    	return (PendingIntent) shadowOf_(instance);
6971047b8740177c264e807a91bd6beeb09a502f6feDavid Farber & Lowell Kirsh    }
6985f52066979dd3a3eb6a0df2cd360611c50fb31ecRyan Richard
6998bdd4405f79972e8c153562e96afa912f3fe81c8Graeme Duncan    public static ShadowDateFormat shadowOf(DateFormat instance) {
7008bdd4405f79972e8c153562e96afa912f3fe81c8Graeme Duncan		return (ShadowDateFormat) shadowOf_(instance);
7018bdd4405f79972e8c153562e96afa912f3fe81c8Graeme Duncan	}
7021047b8740177c264e807a91bd6beeb09a502f6feDavid Farber & Lowell Kirsh
7030dabe713bf2d78df246d9cff18ed11363491a2acAdam Cohen-Rose    public static ShadowResourceCursorAdapter shadowOf(ResourceCursorAdapter instance) {
7040dabe713bf2d78df246d9cff18ed11363491a2acAdam Cohen-Rose    	return (ShadowResourceCursorAdapter) shadowOf_(instance);
7050dabe713bf2d78df246d9cff18ed11363491a2acAdam Cohen-Rose    }
7060dabe713bf2d78df246d9cff18ed11363491a2acAdam Cohen-Rose
7070dabe713bf2d78df246d9cff18ed11363491a2acAdam Cohen-Rose    public static ShadowSimpleCursorAdapter shadowOf(SimpleCursorAdapter instance) {
7080dabe713bf2d78df246d9cff18ed11363491a2acAdam Cohen-Rose    	return (ShadowSimpleCursorAdapter) shadowOf_(instance);
7090dabe713bf2d78df246d9cff18ed11363491a2acAdam Cohen-Rose    }
7100dabe713bf2d78df246d9cff18ed11363491a2acAdam Cohen-Rose
71108fb8f8709b227d9c12f5197c1884f22137075a5adriancowham    public static ShadowPowerManager shadowOf(PowerManager instance) {
71208fb8f8709b227d9c12f5197c1884f22137075a5adriancowham    	return (ShadowPowerManager) shadowOf_(instance);
713681269ee2cf6aac7d48bf09f1e449b620f34edf1Graeme Duncan    }
71408fb8f8709b227d9c12f5197c1884f22137075a5adriancowham
71508fb8f8709b227d9c12f5197c1884f22137075a5adriancowham    public static ShadowKeyguardManager shadowOf(KeyguardManager instance) {
71608fb8f8709b227d9c12f5197c1884f22137075a5adriancowham    	return (ShadowKeyguardManager) shadowOf_(instance);
71708fb8f8709b227d9c12f5197c1884f22137075a5adriancowham    }
71808fb8f8709b227d9c12f5197c1884f22137075a5adriancowham
719f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey    public static ShadowInputMethodManager shadowOf(InputMethodManager instance) {
720f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey    	return (ShadowInputMethodManager) shadowOf_(instance);
721c59af8991708feeca9cdfb028101113a79ef73f4Glenn Jahnke & Lenny Turetsky    }
722681269ee2cf6aac7d48bf09f1e449b620f34edf1Graeme Duncan
723f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey   public static ShadowAnimation shadowOf(Animation instance) {
7243f78da998ce73c1c7c25798a7e7e4f19287eff23Michael Portuesi    	return (ShadowAnimation) shadowOf_(instance);
7253f78da998ce73c1c7c25798a7e7e4f19287eff23Michael Portuesi    }
7262afd69b7f52c3c4c1fbe17f46e84d0cb178d3adeKathy Lin
7272afd69b7f52c3c4c1fbe17f46e84d0cb178d3adeKathy Lin   public static ShadowVideoView shadowOf(VideoView instance) {
7282afd69b7f52c3c4c1fbe17f46e84d0cb178d3adeKathy Lin   	return (ShadowVideoView) shadowOf_(instance);
729457cbc096ee926ec89531d445394f8ad9e6672d1Michael Portuesi   }
730457cbc096ee926ec89531d445394f8ad9e6672d1Michael Portuesi
731457cbc096ee926ec89531d445394f8ad9e6672d1Michael Portuesi	public static ShadowTelephonyManager shadowOf(TelephonyManager instance) {
732457cbc096ee926ec89531d445394f8ad9e6672d1Michael Portuesi		return (ShadowTelephonyManager) shadowOf_(instance);
733457cbc096ee926ec89531d445394f8ad9e6672d1Michael Portuesi	}
734f68d6a67f035c4bde0c95dcf6c3aa2d68a436972Michael Portuesi
735f68d6a67f035c4bde0c95dcf6c3aa2d68a436972Michael Portuesi	public static ShadowActivityManager shadowOf(ActivityManager instance) {
736f68d6a67f035c4bde0c95dcf6c3aa2d68a436972Michael Portuesi		return (ShadowActivityManager) shadowOf_(instance);
737f68d6a67f035c4bde0c95dcf6c3aa2d68a436972Michael Portuesi	}
7387598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz
7391fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    @SuppressWarnings({"unchecked"})
740433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static <P, R> P shadowOf_(R instance) {
741cee7ff89bfcb83d6cd65e6de9b7cafe2c1caf40aChristian Williams        return (P) ShadowWrangler.getInstance().shadowOf(instance);
7421fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
74371d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
7440fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    /**
7450fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Runs any background tasks previously queued by {@link android.os.AsyncTask#execute(Object[])}.
746b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * <p/>
7470fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * <p/>
7480fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Note: calling this method does not pause or un-pause the scheduler.
7490fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     */
75071d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public static void runBackgroundTasks() {
7510fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin        getBackgroundScheduler().advanceBy(0);
75271d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
75371d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
7540fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    /**
7550fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Runs any immediately runnable tasks previously queued on the UI thread,
7560fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * e.g. by {@link Activity#runOnUiThread(Runnable)} or {@link android.os.AsyncTask#onPostExecute(Object)}.
757b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * <p/>
7580fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * <p/>
7590fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Note: calling this method does not pause or un-pause the scheduler.
7600fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     */
76171d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public static void runUiThreadTasks() {
762a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz        getUiThreadScheduler().advanceBy(0);
76371d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
764cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
765e9cf86cff984930a892bcad1fa1b410a47cd2d90Joe Moore & Ryan Richard    public static void runUiThreadTasksIncludingDelayedTasks() {
766e9cf86cff984930a892bcad1fa1b410a47cd2d90Joe Moore & Ryan Richard        getUiThreadScheduler().advanceToLastPostedRunnable();
767e9cf86cff984930a892bcad1fa1b410a47cd2d90Joe Moore & Ryan Richard    }
768e9cf86cff984930a892bcad1fa1b410a47cd2d90Joe Moore & Ryan Richard
769cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    /**
770bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin     * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers.
771cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     *
772b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param statusCode   the status code of the response
773cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @param responseBody the body of the response
774cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     */
775b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static void addPendingHttpResponse(int statusCode, String responseBody) {
776f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addPendingHttpResponse(statusCode, responseBody);
777cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    }
778cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
779cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    /**
780bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin     * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers.
781cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     *
7826f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     * @param statusCode   the status code of the response
7836f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     * @param responseBody the body of the response
7846f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     * @param contentType the contentType of the response
7856f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     */
78639a416145e85c7008805ef493b2d61f66d669158Tyler Schultz    public static void addPendingHttpResponseWithContentType(int statusCode, String responseBody, Header contentType) {
78739a416145e85c7008805ef493b2d61f66d669158Tyler Schultz        getFakeHttpLayer().addPendingHttpResponseWithContentType(statusCode, responseBody, contentType);
7886f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche    }
7896f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche
7906f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche    /**
7916f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers.
7926f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     *
793cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @param httpResponse the response
794cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     */
795b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static void addPendingHttpResponse(HttpResponse httpResponse) {
796f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addPendingHttpResponse(httpResponse);
797cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    }
798cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
799cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    /**
8007cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Accessor to obtain HTTP requests made during the current test in the order in which they were made.
801cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     *
802cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @param index index of the request to retrieve.
803cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @return the requested request.
804cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     */
805b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static HttpRequest getSentHttpRequest(int index) {
806b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz        return ShadowDefaultRequestDirector.getSentHttpRequest(index);
807cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    }
808cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
8097cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
8102399fd1c2f5ff65d329717361082957d309f7314Alexander Murmann & Jesse Toth     * Accessor to find out if HTTP requests were made during the current test.
8112399fd1c2f5ff65d329717361082957d309f7314Alexander Murmann & Jesse Toth     *
8122399fd1c2f5ff65d329717361082957d309f7314Alexander Murmann & Jesse Toth     * @return whether a request was made.
8132399fd1c2f5ff65d329717361082957d309f7314Alexander Murmann & Jesse Toth     */
8142399fd1c2f5ff65d329717361082957d309f7314Alexander Murmann & Jesse Toth    public static boolean httpRequestWasMade() {
8152399fd1c2f5ff65d329717361082957d309f7314Alexander Murmann & Jesse Toth        return getShadowApplication().getFakeHttpLayer().hasRequestInfos();
8162399fd1c2f5ff65d329717361082957d309f7314Alexander Murmann & Jesse Toth    }
8172399fd1c2f5ff65d329717361082957d309f7314Alexander Murmann & Jesse Toth
8185ed9c8041b5f927c930d50edef58c5378d12f89cAlexander Murmann & Phil Goodwin    public static boolean httpRequestWasMade(String uri) {
8195ed9c8041b5f927c930d50edef58c5378d12f89cAlexander Murmann & Phil Goodwin        return getShadowApplication().getFakeHttpLayer().hasRequestMatchingRule(new FakeHttpLayer.UriRequestMatcher(uri));
8205ed9c8041b5f927c930d50edef58c5378d12f89cAlexander Murmann & Phil Goodwin    }
8215ed9c8041b5f927c930d50edef58c5378d12f89cAlexander Murmann & Phil Goodwin
8222399fd1c2f5ff65d329717361082957d309f7314Alexander Murmann & Jesse Toth    /**
8237cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Accessor to obtain metadata for an HTTP request made during the current test in the order in which they were made.
8247cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
8257cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param index index of the request to retrieve.
8267cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @return the requested request metadata.
8277cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
8287cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static HttpRequestInfo getSentHttpRequestInfo(int index) {
8297cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin        return ShadowDefaultRequestDirector.getSentHttpRequestInfo(index);
8307cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
8317cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
8327cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
8337cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule. The response will be returned when the rule is matched.
8347cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
835b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param method   method to match.
836b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param uri      uri to match.
8377cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param response response to return when a match is found.
8387cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
8397cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void addHttpResponseRule(String method, String uri, HttpResponse response) {
840f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(method, uri, response);
8417cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
8427cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
8437cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
8447cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule with a default method of GET. The response will be returned when the rule is matched.
8457cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
846b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param uri      uri to match.
8477cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param response response to return when a match is found.
8487cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
8497cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void addHttpResponseRule(String uri, HttpResponse response) {
850f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(uri, response);
8517cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
8527cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
8537cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
8547cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule. The response will be returned when the rule is matched.
8557cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
856b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param uri      uri to match.
8577cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param response response to return when a match is found.
8587cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
8597cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void addHttpResponseRule(String uri, String response) {
860f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(uri, response);
8617cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
8627cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
8637cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
8647cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule. The response will be returned when the rule is matched.
8657cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
8667cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param requestMatcher custom {@code RequestMatcher}.
867b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param response       response to return when a match is found.
8687cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
8694105051dc6b4e1d67766d1ad886bd3b191f8a68fChristian Williams    public static void addHttpResponseRule(RequestMatcher requestMatcher, HttpResponse response) {
870f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(requestMatcher, response);
871f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    }
872f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin
8732669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh    /**
8742669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh     * Adds an HTTP response rule. For each time the rule is matched, responses will be shifted
8752669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh     * off the list and returned. When all responses have been given and the rule is matched again,
8762669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh     * an exception will be thrown.
8772669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh     *
8782669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh     * @param requestMatcher custom {@code RequestMatcher}.
8792669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh     * @param responses      responses to return in order when a match is found.
8802669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh     */
8812669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh    public static void addHttpResponseRule(RequestMatcher requestMatcher, List<? extends HttpResponse> responses) {
8822669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh        getFakeHttpLayer().addHttpResponseRule(requestMatcher, responses);
8832669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh    }
8842669b6bbfad4fc63460249729f6d7ae80b002a55Lowell Kirsh
885f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    public static FakeHttpLayer getFakeHttpLayer() {
8867d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin        return getShadowApplication().getFakeHttpLayer();
8877cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
8887cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
889d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin    public static void setDefaultHttpResponse(int statusCode, String responseBody) {
890d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin        getFakeHttpLayer().setDefaultHttpResponse(statusCode, responseBody);
891d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin    }
892d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin
8937cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void setDefaultHttpResponse(HttpResponse defaultHttpResponse) {
894f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().setDefaultHttpResponse(defaultHttpResponse);
895b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    }
8965dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
897b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson    public static void clearHttpResponseRules() {
898b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson        getFakeHttpLayer().clearHttpResponseRules();
899b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson    }
900b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson
9015dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void pauseLooper(Looper looper) {
9025dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.pauseLooper(looper);
9035dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
9045dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
9055dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void unPauseLooper(Looper looper) {
9065dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.unPauseLooper(looper);
9075dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
9085dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
9095dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void pauseMainLooper() {
9105dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.pauseMainLooper();
9115dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
9125dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
9135dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void unPauseMainLooper() {
9145dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.unPauseMainLooper();
9155dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
9165dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
91744edf424f14a67d7a35501a258a9b96d9c943ccfAlexander Murmann & Phil Goodwin    public static void idleMainLooper(int interval) {
91844edf424f14a67d7a35501a258a9b96d9c943ccfAlexander Murmann & Phil Goodwin        ShadowLooper.idleMainLooper(interval);
91944edf424f14a67d7a35501a258a9b96d9c943ccfAlexander Murmann & Phil Goodwin    }
92044edf424f14a67d7a35501a258a9b96d9c943ccfAlexander Murmann & Phil Goodwin
921a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz    public static Scheduler getUiThreadScheduler() {
922a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz        return shadowOf(Looper.getMainLooper()).getScheduler();
923a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz    }
9247d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin
9250fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    public static Scheduler getBackgroundScheduler() {
9260fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin        return getShadowApplication().getBackgroundScheduler();
9270fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    }
9280fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin
9297d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin    public static ShadowApplication getShadowApplication() {
9307d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin        return shadowOf(Robolectric.application);
9317d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin    }
932c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams
933db121a3768da9bd5f9ac210a0b1fc368acb85824Ryan Richard    public static void setDisplayMetricsDensity(float densityMultiplier) {
934db121a3768da9bd5f9ac210a0b1fc368acb85824Ryan Richard        shadowOf(getShadowApplication().getResources()).setDensity(densityMultiplier);
935db121a3768da9bd5f9ac210a0b1fc368acb85824Ryan Richard    }
936db121a3768da9bd5f9ac210a0b1fc368acb85824Ryan Richard
937c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    /**
938c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * Calls {@code performClick()} on a {@code View} after ensuring that it and its ancestors are visible and that it
939c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * is enabled.
940c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     *
941c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * @param view the view to click on
942c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * @return true if {@code View.OnClickListener}s were found and fired, false otherwise.
943c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * @throws RuntimeException if the preconditions are not met.
944c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     */
945c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    public static boolean clickOn(View view) {
946c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        return shadowOf(view).checkedPerformClick();
947c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    }
948c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams
949c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    public static String visualize(View view) {
950c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        Canvas canvas = new Canvas();
951c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        view.draw(canvas);
952c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        return shadowOf(canvas).getDescription();
953c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    }
954c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin
955c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    public static String visualize(Canvas canvas) {
956c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin        return shadowOf(canvas).getDescription();
957c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    }
958c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin
959c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    public static String visualize(Bitmap bitmap) {
960c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin        return shadowOf(bitmap).getDescription();
961c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    }
96244edf424f14a67d7a35501a258a9b96d9c943ccfAlexander Murmann & Phil Goodwin
9632ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard    /**
9642ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard     * Reflection helper methods.
9652ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard     */
9662ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard    public static class Reflection {
9672ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard        public static <T> T newInstanceOf(Class<T> clazz) {
9682ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard            return Robolectric.newInstanceOf(clazz);
9692ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard        }
9702ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard
9712ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard        public static Object newInstanceOf(String className) {
9722ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard            return Robolectric.newInstanceOf(className);
9732ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard        }
9742ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard
9752ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard        public static void setFinalStaticField(Class classWhichContainsField, String fieldName, Object newValue) {
9762ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard            try {
9772ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard                Field field = classWhichContainsField.getField(fieldName);
9782ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard                field.setAccessible(true);
9792ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard
9802ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard                Field modifiersField = Field.class.getDeclaredField("modifiers");
9812ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard                modifiersField.setAccessible(true);
9822ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard                modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
9832ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard
9842ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard                field.set(null, newValue);
9852ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard            } catch (NoSuchFieldException e) {
9862ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard                throw new RuntimeException(e);
9872ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard            } catch (IllegalAccessException e) {
9882ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard                throw new RuntimeException(e);
9892ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard            }
9902ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard        }
9912ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard    }
9922ee0a59c08fbf90d69e509d4919f791df9c44a27Ryan Richard
9930b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher}
994