Robolectric.java revision 2afd69b7f52c3c4c1fbe17f46e84d0cb178d3ade
1345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williamspackage com.xtremelabs.robolectric;
20b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher
308fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport java.util.Arrays;
408fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport java.util.List;
508fb8f8709b227d9c12f5197c1884f22137075a5adriancowham
6cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport org.apache.http.Header;
708fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport org.apache.http.HttpRequest;
808fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport org.apache.http.HttpResponse;
908fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport org.apache.http.impl.client.DefaultRequestDirector;
1008fb8f8709b227d9c12f5197c1884f22137075a5adriancowham
1108fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport android.app.Activity;
1208fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport android.app.AlarmManager;
1308fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport android.app.AlertDialog;
1408fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport android.app.Application;
1508fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport android.app.Dialog;
1608fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport android.app.KeyguardManager;
1708fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport android.app.ListActivity;
1808fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport android.app.Notification;
1908fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport android.app.NotificationManager;
204ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphreyimport android.app.ProgressDialog;
211fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.appwidget.AppWidgetManager;
22b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williamsimport android.bluetooth.BluetoothAdapter;
23b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williamsimport android.bluetooth.BluetoothDevice;
249893f7266e7dcc1332743887045bd69991441421Christian Williamsimport android.content.ContentValues;
251fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.Context;
261fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.ContextWrapper;
271fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.Intent;
2870a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silvaimport android.content.res.AssetManager;
29cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphreyimport android.content.res.Configuration;
301fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.res.Resources;
31b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesiimport android.database.sqlite.SQLiteCursor;
329893f7266e7dcc1332743887045bd69991441421Christian Williamsimport android.database.sqlite.SQLiteDatabase;
3328dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesiimport android.database.sqlite.SQLiteOpenHelper;
343a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesiimport android.database.sqlite.SQLiteQueryBuilder;
35cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.graphics.Bitmap;
36cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.graphics.Canvas;
37cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.graphics.ColorMatrix;
38cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.graphics.Matrix;
39cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.graphics.Paint;
40cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.graphics.Path;
411fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.graphics.drawable.BitmapDrawable;
421fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.graphics.drawable.Drawable;
4331af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesiimport android.hardware.Camera;
4406abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richardimport android.location.Geocoder;
451fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.location.LocationManager;
4636a56b1b82e6409c81ccc87ab7148cef105b4517Michael Portuesiimport android.media.AudioManager;
475480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphreyimport android.media.MediaPlayer;
4831af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesiimport android.media.MediaRecorder;
497581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarseimport android.net.ConnectivityManager;
507581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarseimport android.net.NetworkInfo;
51523401082f8da71727f102003baf023e6c356386adriancowhamimport android.net.wifi.WifiManager;
52c97f858ddc2222e96a6492c5fba30775cfeac4e4Zoodlesimport android.os.CountDownTimer;
531fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.os.Handler;
541fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.os.Looper;
55cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.os.Parcel;
5608fb8f8709b227d9c12f5197c1884f22137075a5adriancowhamimport android.os.PowerManager;
5794c593173ef0ac64cca724199d6228057e1c8fd8Rich Humphreyimport android.preference.DialogPreference;
58db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphreyimport android.preference.ListPreference;
59079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreyimport android.preference.Preference;
60eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphreyimport android.preference.PreferenceActivity;
61eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphreyimport android.preference.PreferenceCategory;
62eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphreyimport android.preference.PreferenceGroup;
63860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphreyimport android.preference.PreferenceScreen;
64cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.view.Display;
65cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.view.LayoutInflater;
66cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.view.MenuInflater;
67cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.view.MotionEvent;
68cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.view.View;
69cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.view.ViewGroup;
703f78da998ce73c1c7c25798a7e7e4f19287eff23Michael Portuesiimport android.view.animation.Animation;
7186b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodlesimport android.view.animation.AnimationUtils;
72f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport android.view.inputmethod.InputMethodManager;
73c1a22de534a98808eb2ce5c6c956e25c0d9625e2Rich Humphreyimport android.webkit.SslErrorHandler;
740189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphreyimport android.webkit.WebSettings;
756cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultzimport android.webkit.WebView;
76cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.AbsSeekBar;
77cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.AdapterView;
78cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.CursorAdapter;
79cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.ExpandableListView;
80cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.GridView;
81cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.ImageView;
82cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.ListView;
83cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.ProgressBar;
84cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.RemoteViews;
85cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.SeekBar;
86cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.TextView;
87cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.Toast;
882afd69b7f52c3c4c1fbe17f46e84d0cb178d3adeKathy Linimport android.widget.VideoView;
89cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.widget.ZoomButtonsController;
90cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham
91b5d56e95f27d484ad3098ac18867262e7c8826c1Christian Williams & Phil Goodwinimport com.xtremelabs.robolectric.bytecode.RobolectricInternals;
92b5d56e95f27d484ad3098ac18867262e7c8826c1Christian Williams & Phil Goodwinimport com.xtremelabs.robolectric.bytecode.ShadowWrangler;
9307a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwinimport com.xtremelabs.robolectric.shadows.*;
942cdde11355e7c249e83a8b7aaabae5977bbc3e49Phil Goodwinimport com.xtremelabs.robolectric.tester.org.apache.http.FakeHttpLayer;
952cdde11355e7c249e83a8b7aaabae5977bbc3e49Phil Goodwinimport com.xtremelabs.robolectric.tester.org.apache.http.HttpRequestInfo;
962cdde11355e7c249e83a8b7aaabae5977bbc3e49Phil Goodwinimport com.xtremelabs.robolectric.tester.org.apache.http.RequestMatcher;
9771d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williamsimport com.xtremelabs.robolectric.util.Scheduler;
980b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher
99bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin@SuppressWarnings({"UnusedDeclaration"})
100345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williamspublic class Robolectric {
1018baea4cbf332f0e0acf559dfab4aa59dd7c71003Christian Williams & Ryan Richard    public static Application application;
1028baea4cbf332f0e0acf559dfab4aa59dd7c71003Christian Williams & Ryan Richard
1030b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher    public static <T> T newInstanceOf(Class<T> clazz) {
104111e2299b5157f072d9e62406bd3c6fea9036cd4Christian Williams & Phil Goodwin        return RobolectricInternals.newInstanceOf(clazz);
1050b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher    }
1060b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher
1071741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin    public static Object newInstanceOf(String className) {
1081741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        try {
1091741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin            Class<?> clazz = Class.forName(className);
1101741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin            if (clazz != null) {
1111741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin                return newInstanceOf(clazz);
1121741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin            }
1131741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        } catch (ClassNotFoundException e) {
1141741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        }
1151741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin        return null;
1161741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin    }
1171741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin
118e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static void bindShadowClass(Class<?> shadowClass) {
119111e2299b5157f072d9e62406bd3c6fea9036cd4Christian Williams & Phil Goodwin        RobolectricInternals.bindShadowClass(shadowClass);
120e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    }
121e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
122e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static void bindDefaultShadowClasses() {
123638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams        bindShadowClasses(getDefaultShadowClasses());
124638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams    }
125638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams
126638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams    public static void bindShadowClasses(List<Class<?>> shadowClasses) {
127638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams        for (Class<?> shadowClass : shadowClasses) {
128638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams            bindShadowClass(shadowClass);
129e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams        }
130e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    }
131e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
132cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz    /**
133cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * Invoke this utility method in tests to reveal which Android api classes and methods are being invoked
134cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * for which there are no shadows or shadow methods. This helps expose which methods are being invoked
135cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * either by a third party library or application code which need new shadow methods to be written. Generates
136cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     * output for the current test only.
137cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz     */
138cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz    public static void logMissingInvokedShadowMethods() {
139cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz        ShadowWrangler.getInstance().logMissingInvokedShadowMethods();
140cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz    }
141cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz
142e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static List<Class<?>> getDefaultShadowClasses() {
1430b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher        return Arrays.asList(
144c146ad8871a32bbf62aca259ede77d3f9cd07773Tyler Schultz                ShadowAbsoluteLayout.class,
1456bdff425fce6705103662f20370c9b371ccf23adRich Humphrey                ShadowAbsSeekBar.class,
146afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAbsSpinner.class,
1479893f7266e7dcc1332743887045bd69991441421Christian Williams                ShadowAbstractCursor.class,
148afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowActivity.class,
149afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAdapterView.class,
150afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAddress.class,
151cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowAlarmManager.class,
152afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAlertDialog.class,
153afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAlertDialog.ShadowBuilder.class,
1543f78da998ce73c1c7c25798a7e7e4f19287eff23Michael Portuesi                ShadowAnimation.class,
15586b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles                ShadowAnimationUtils.class,
156afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowApplication.class,
157afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowAppWidgetManager.class,
158e9c420439254fc0c893e44987db10e1418fff338mylacc                ShadowArrayAdapter.class,
159114296321cba71f8133713306049ce3b411e8563Gonçalo Silva                ShadowAssetManager.class,
16071d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams                ShadowAsyncTask.class,
16136a56b1b82e6409c81ccc87ab7148cef105b4517Michael Portuesi                ShadowAudioManager.class,
162afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowBaseAdapter.class,
163ae26238c7d01caef84ceddd8ffb42c32306918d6Josh Lauer & Christian Williams                ShadowBitmap.class,
164afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowBitmapDrawable.class,
165b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams                ShadowBitmapFactory.class,
166b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams                ShadowBluetoothAdapter.class,
167b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams                ShadowBluetoothDevice.class,
16875d564ab2b02cbe8a0d8cb33779530f72ea813abChristian Williams & Ryan Richard                ShadowBundle.class,
16931af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi                ShadowCamera.class,
17031af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi                ShadowCameraParameters.class,
171cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowCameraSize.class,
172afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowCanvas.class,
173e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams                ShadowColorMatrix.class,
174e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams                ShadowColorMatrixColorFilter.class,
175b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowColorStateList.class,
176afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowComponentName.class,
177cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowCompoundButton.class,
178cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey                ShadowConfiguration.class,
1797581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse                ShadowConnectivityManager.class,
18020b94927aff24d7bd975d6ee717f1b65da9ee7c1Josh Lauer & Christian Williams                ShadowContentResolver.class,
1819893f7266e7dcc1332743887045bd69991441421Christian Williams                ShadowContentValues.class,
182afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowContext.class,
183afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowContextWrapper.class,
1841dcccba609fb2036994803ca6d71f9c76e1fe8e9Chee Wong                ShadowContextThemeWrapper.class,
185b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowCookieManager.class,
186c97f858ddc2222e96a6492c5fba30775cfeac4e4Zoodles                ShadowCountDownTimer.class,
18729cbbdc99eee133fd8bccb3084fa3881a9ee1233adriancowham                ShadowCursorAdapter.class,
188cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz                ShadowDefaultRequestDirector.class,
189d1eee6c4ec28a6c17455ce5c29efb833f30dd5d0Michael Portuesi                ShadowDisplay.class,
190afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowDrawable.class,
191afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowDialog.class,
19294c593173ef0ac64cca724199d6228057e1c8fd8Rich Humphrey                ShadowDialogPreference.class,
193afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowEditText.class,
1949044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian                ShadowExpandableListView.class,
195d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams                ShadowFloatMath.class,
19606abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard                ShadowGeocoder.class,
197afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowGeoPoint.class,
1985be5c864634de9072b89911eab6d0c8d772c9ad3Rich Humphrey                ShadowGridView.class,
199afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowHandler.class,
200afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowImageView.class,
201f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey                ShadowInputMethodManager.class,
202afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowIntent.class,
203afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowIntentFilter.class,
204afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowItemizedOverlay.class,
20508fb8f8709b227d9c12f5197c1884f22137075a5adriancowham                ShadowKeyguardManager.class,
206afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLayoutInflater.class,
207afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLayoutParams.class,
208afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowListActivity.class,
209db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey                ShadowListPreference.class,
210afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowListView.class,
211afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLocation.class,
212afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLocationManager.class,
213afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowLooper.class,
214afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMapController.class,
215afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMapActivity.class,
216afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMapView.class,
2170d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams                ShadowMatrix.class,
2185480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey                ShadowMediaPlayer.class,
21976209fe88929d880ac6e008d5a3e6e1e1dd4939aPhil Goodwin                ShadowMediaRecorder.class,
220d3f9a56dffcdd129355351019aef9652cce0d6b2Josh Lauer & Christian Williams                ShadowMediaStore.ShadowImages.ShadowMedia.class,
22176209fe88929d880ac6e008d5a3e6e1e1dd4939aPhil Goodwin                ShadowMenuInflater.class,
222afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowMotionEvent.class,
22307a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin                ShadowNotification.class,
22407a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin                ShadowNotificationManager.class,
2257581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse                ShadowNetworkInfo.class,
226afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowOverlayItem.class,
227afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPaint.class,
228cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham                ShadowParcel.class,
229afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPath.class,
230afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPendingIntent.class,
231afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowPoint.class,
232d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams                ShadowPointF.class,
233b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowPowerManager.class,
234079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey                ShadowPreference.class,
235eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey                ShadowPreferenceActivity.class,
236eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey                ShadowPreferenceCategory.class,
237eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey                ShadowPreferenceGroup.class,
238e8637c922e4f8e681769d63689accb89e6108056Michael Portuesi                ShadowPreferenceManager.class,
239860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey                ShadowPreferenceScreen.class,
240079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey                ShadowProgressBar.class,
2414ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey                ShadowProgressDialog.class,
242afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowRect.class,
243afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowRemoteViews.class,
244afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowResources.class,
245b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowResources.ShadowTheme.class,
246b82ccb9a3ef511d607ca5c4238a50d78a6aeaebaRich Humphrey                ShadowSeekBar.class,
247afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowService.class,
248afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSettings.class,
249afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSettings.ShadowSecure.class,
250afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSettings.ShadowSystem.class,
251afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowSpannableStringBuilder.class,
2529893f7266e7dcc1332743887045bd69991441421Christian Williams                ShadowSQLiteDatabase.class,
253b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi                ShadowSQLiteCursor.class,
25428dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi                ShadowSQLiteOpenHelper.class,
2553a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi                ShadowSQLiteQueryBuilder.class,
256c1a22de534a98808eb2ce5c6c956e25c0d9625e2Rich Humphrey                ShadowSslErrorHandler.class,
2577dc1a70de2b28bdf70d887accfb5805f3497bda8Josh Lauer & Christian Williams                ShadowSurfaceView.class,
258afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowTextUtils.class,
259afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowTextView.class,
260afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowToast.class,
261b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams                ShadowTypedArray.class,
262afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowTypedValue.class,
263237888bb1e926aea523388de5d511a35f38506efPhil Goodwin & Tyler Schultz                ShadowURLSpan.class,
2642afd69b7f52c3c4c1fbe17f46e84d0cb178d3adeKathy Lin                ShadowVideoView.class,
265afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowView.class,
266afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowViewGroup.class,
2670e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams                ShadowViewStub.class,
2680189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey                ShadowWebSettings.class,
2699ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz                ShadowWebView.class,
270afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowWifiManager.class,
271e2f97afa26ab916fbc36ca1bbf18ba507023ab50Christian Williams                ShadowWindow.class,
272afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams                ShadowZoomButtonsController.class
273adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams        );
2740b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher    }
27590008046fcb6aac20be2df7a0aa07129f6f0d62bIan Fisher
276345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williams    public static void resetStaticState() {
277e6dfaf271dbaf3ac1bb82d953669a56a02fc71d6Phil Goodwin & Tyler Schultz        ShadowWrangler.getInstance().silence();
278345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williams        Robolectric.application = new Application();
279d092cebc8c9179d3a138827fd65961b867e2c53fJosh Lauer & Christian Williams        ShadowBitmapFactory.reset();
28090008046fcb6aac20be2df7a0aa07129f6f0d62bIan Fisher    }
2811fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
2829122a05312e767618ba0545a951df9cab86c8716Christian Williams    public static <T> T directlyOn(T shadowedObject) {
2839122a05312e767618ba0545a951df9cab86c8716Christian Williams        return RobolectricInternals.directlyOn(shadowedObject);
2849122a05312e767618ba0545a951df9cab86c8716Christian Williams    }
2859122a05312e767618ba0545a951df9cab86c8716Christian Williams
28629cbbdc99eee133fd8bccb3084fa3881a9ee1233adriancowham    public static ShadowCursorAdapter shadowOf(CursorAdapter instance) {
28729cbbdc99eee133fd8bccb3084fa3881a9ee1233adriancowham    	return (ShadowCursorAdapter) shadowOf_(instance);
28829cbbdc99eee133fd8bccb3084fa3881a9ee1233adriancowham    }
28929cbbdc99eee133fd8bccb3084fa3881a9ee1233adriancowham
290433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowDrawable shadowOf(Drawable instance) {
291433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowDrawable) shadowOf_(instance);
2921fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2931fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
294433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowToast shadowOf(Toast instance) {
295433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowToast) shadowOf_(instance);
2961fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
2971fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
2987581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    public static ShadowNetworkInfo shadowOf(NetworkInfo instance) {
2997581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse        return (ShadowNetworkInfo) shadowOf_(instance);
3007581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    }
3017581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse
3027581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    public static ShadowConnectivityManager shadowOf(ConnectivityManager instance) {
3037581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse        return (ShadowConnectivityManager) shadowOf_(instance);
3047581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse    }
3057581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse
306523401082f8da71727f102003baf023e6c356386adriancowham    public static ShadowWifiManager shadowOf(WifiManager instance){
307523401082f8da71727f102003baf023e6c356386adriancowham    	return (ShadowWifiManager) shadowOf_(instance);
308523401082f8da71727f102003baf023e6c356386adriancowham    }
309523401082f8da71727f102003baf023e6c356386adriancowham
310433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowBitmapDrawable shadowOf(BitmapDrawable instance) {
311433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowBitmapDrawable) shadowOf_(instance);
3121fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3131fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
314433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowZoomButtonsController shadowOf(ZoomButtonsController instance) {
315433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowZoomButtonsController) shadowOf_(instance);
3161fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3171fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
318433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowListView shadowOf(ListView instance) {
319433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowListView) shadowOf_(instance);
3201fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3211fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
322cb122d30b23483c2cec905e74c747e6bc448cfbaPhil Goodwin    public static ShadowExpandableListView shadowOf(ExpandableListView instance) {
323cb122d30b23483c2cec905e74c747e6bc448cfbaPhil Goodwin        return (ShadowExpandableListView) shadowOf_(instance);
3249044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian    }
3259044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian
326433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowActivity shadowOf(Activity instance) {
327433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowActivity) shadowOf_(instance);
3281fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3291fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
330433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowContextWrapper shadowOf(ContextWrapper instance) {
331433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowContextWrapper) shadowOf_(instance);
3321fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3331fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
334f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    public static ShadowApplication shadowOf(Application instance) {
335f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        return (ShadowApplication) shadowOf_(instance);
336f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    }
33708f79939304d82b7cfbb80d20b88fbe26eeab7a9Joe Moore and Tyler Schultz
338f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    public static ShadowContext shadowOf(Context instance) {
339f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        return (ShadowContext) shadowOf_(instance);
3401fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3411fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
342433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowPaint shadowOf(Paint instance) {
343433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowPaint) shadowOf_(instance);
3441fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3451fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
346433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowPath shadowOf(Path instance) {
347433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowPath) shadowOf_(instance);
3481fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3491fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
350079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey    public static ShadowPreference shadowOf(Preference instance) {
351079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey        return (ShadowPreference) shadowOf_(instance);
352079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey    }
353eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey
354eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    public static ShadowPreferenceActivity shadowOf(PreferenceActivity instance) {
355eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey        return (ShadowPreferenceActivity) shadowOf_(instance);
356eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    }
357eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey
358eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    public static ShadowPreferenceCategory shadowOf(PreferenceCategory instance) {
359eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey        return (ShadowPreferenceCategory) shadowOf_(instance);
360eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    }
361eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey
362eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    public static ShadowPreferenceGroup shadowOf(PreferenceGroup instance) {
363eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey        return (ShadowPreferenceGroup) shadowOf_(instance);
364eb47a8c4f989358eb087720918ff77a8e1e6f260Rich Humphrey    }
365079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey
366860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey    public static ShadowPreferenceScreen shadowOf(PreferenceScreen instance) {
367860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey        return (ShadowPreferenceScreen) shadowOf_(instance);
368860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey    }
369860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey
370079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey    public static ShadowProgressBar shadowOf(ProgressBar instance) {
371079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey        return (ShadowProgressBar) shadowOf_(instance);
372079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey    }
373079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey
3744ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey    public static ShadowProgressDialog shadowOf(ProgressDialog instance) {
3754ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey        return (ShadowProgressDialog) shadowOf_(instance);
3764ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey    }
3774ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey
378433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowListActivity shadowOf(ListActivity instance) {
379433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowListActivity) shadowOf_(instance);
3801fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
3811fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
382db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey    public static ShadowListPreference shadowOf(ListPreference instance) {
383db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey        return (ShadowListPreference) shadowOf_(instance);
384db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey    }
385db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey
386433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowHandler shadowOf(Handler instance) {
387433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowHandler) shadowOf_(instance);
3881fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
389c1a22de534a98808eb2ce5c6c956e25c0d9625e2Rich Humphrey
390c1a22de534a98808eb2ce5c6c956e25c0d9625e2Rich Humphrey    public static ShadowSslErrorHandler shadowOf(SslErrorHandler instance) {
391c1a22de534a98808eb2ce5c6c956e25c0d9625e2Rich Humphrey        return (ShadowSslErrorHandler) shadowOf_(instance);
392c1a22de534a98808eb2ce5c6c956e25c0d9625e2Rich Humphrey    }
3931fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
394e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams    public static ShadowColorMatrix shadowOf(ColorMatrix instance) {
395e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams        return (ShadowColorMatrix) shadowOf_(instance);
396e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams    }
397e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams
398433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowIntent shadowOf(Intent instance) {
399433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowIntent) shadowOf_(instance);
4001fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4011fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
402433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowView shadowOf(View instance) {
403433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowView) shadowOf_(instance);
4041fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4051fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
406433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowViewGroup shadowOf(ViewGroup instance) {
407433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowViewGroup) shadowOf_(instance);
4081fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4091fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
4100189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey    public static ShadowWebSettings shadowOf(WebSettings instance) {
4110189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey        return (ShadowWebSettings) shadowOf_(instance);
4120189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey    }
4130189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey
4146cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz    public static ShadowWebView shadowOf(WebView instance) {
4156cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz        return (ShadowWebView) shadowOf_(instance);
4166cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz    }
4176cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz
418433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowAdapterView shadowOf(AdapterView instance) {
419433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowAdapterView) shadowOf_(instance);
4201fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4211fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
422433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowTextView shadowOf(TextView instance) {
423433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowTextView) shadowOf_(instance);
4241fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4251fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
426433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowImageView shadowOf(ImageView instance) {
427433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowImageView) shadowOf_(instance);
4281fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4291fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
430433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowRemoteViews shadowOf(RemoteViews instance) {
431433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowRemoteViews) shadowOf_(instance);
4321fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4331fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
434433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowDialog shadowOf(Dialog instance) {
435433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowDialog) shadowOf_(instance);
4361fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
43794c593173ef0ac64cca724199d6228057e1c8fd8Rich Humphrey
43894c593173ef0ac64cca724199d6228057e1c8fd8Rich Humphrey    public static ShadowDialogPreference shadowOf(DialogPreference instance) {
43994c593173ef0ac64cca724199d6228057e1c8fd8Rich Humphrey        return (ShadowDialogPreference) shadowOf_(instance);
44094c593173ef0ac64cca724199d6228057e1c8fd8Rich Humphrey    }
4411fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
442b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static ShadowDefaultRequestDirector shadowOf(DefaultRequestDirector instance) {
443cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz        return (ShadowDefaultRequestDirector) shadowOf_(instance);
444c95377d49257364984344908f301574ebe8d4d9cPhil Goodwin & Tyler Schultz    }
445c95377d49257364984344908f301574ebe8d4d9cPhil Goodwin & Tyler Schultz
446433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowAlertDialog shadowOf(AlertDialog instance) {
447433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowAlertDialog) shadowOf_(instance);
4481fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4491fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
450433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowLooper shadowOf(Looper instance) {
451433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowLooper) shadowOf_(instance);
4521fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4531fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
454433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowCanvas shadowOf(Canvas instance) {
455433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowCanvas) shadowOf_(instance);
4561fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4571fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
458433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowLocationManager shadowOf(LocationManager instance) {
459433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowLocationManager) shadowOf_(instance);
4601fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4611fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
462433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowAppWidgetManager shadowOf(AppWidgetManager instance) {
463433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowAppWidgetManager) shadowOf_(instance);
4641fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4651fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
466433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static ShadowResources shadowOf(Resources instance) {
467433b46be67768332f764eab6879e0649993d79e3Christian Williams        return (ShadowResources) shadowOf_(instance);
4681fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
4691fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams
470e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    public static ShadowLayoutInflater shadowOf(LayoutInflater instance) {
47106abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard        return (ShadowLayoutInflater) shadowOf_(instance);
472e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams    }
473adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams
474b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin    public static ShadowMenuInflater shadowOf(MenuInflater instance) {
475b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin        return (ShadowMenuInflater) shadowOf_(instance);
476b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin    }
477b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin
478adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    public static ShadowDisplay shadowOf(Display instance) {
4794a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams        return (ShadowDisplay) shadowOf_(instance);
480adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    }
481adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams
482adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    public static ShadowAudioManager shadowOf(AudioManager instance) {
4834a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams        return (ShadowAudioManager) shadowOf_(instance);
4844a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams    }
485e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
48606abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard    public static ShadowGeocoder shadowOf(Geocoder instance) {
48706abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard        return (ShadowGeocoder) shadowOf_(instance);
488adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams    }
489e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams
4909893f7266e7dcc1332743887045bd69991441421Christian Williams    public static ShadowSQLiteDatabase shadowOf(SQLiteDatabase other) {
4919893f7266e7dcc1332743887045bd69991441421Christian Williams        return (ShadowSQLiteDatabase) Robolectric.shadowOf_(other);
4929893f7266e7dcc1332743887045bd69991441421Christian Williams    }
493f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
494b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi    public static ShadowSQLiteCursor shadowOf(SQLiteCursor other) {
495b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi        return (ShadowSQLiteCursor) Robolectric.shadowOf_(other);
496b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi    }
4979893f7266e7dcc1332743887045bd69991441421Christian Williams
49828dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi    public static ShadowSQLiteOpenHelper shadowOf(SQLiteOpenHelper other) {
49928dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi        return (ShadowSQLiteOpenHelper) Robolectric.shadowOf_(other);
50028dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi    }
501f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
5023a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi    public static ShadowSQLiteQueryBuilder shadowOf(SQLiteQueryBuilder other) {
5033a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi        return (ShadowSQLiteQueryBuilder) Robolectric.shadowOf_(other);
5043a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi    }
505f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
5069893f7266e7dcc1332743887045bd69991441421Christian Williams    public static ShadowContentValues shadowOf(ContentValues other) {
5079893f7266e7dcc1332743887045bd69991441421Christian Williams        return (ShadowContentValues) Robolectric.shadowOf_(other);
5089893f7266e7dcc1332743887045bd69991441421Christian Williams    }
5099893f7266e7dcc1332743887045bd69991441421Christian Williams
51031af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    public static ShadowCamera shadowOf(Camera instance) {
51131af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi        return (ShadowCamera) shadowOf_(instance);
51231af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    }
513f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
51431af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    public static ShadowCameraParameters shadowOf(Camera.Parameters instance) {
51531af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi        return (ShadowCameraParameters) shadowOf_(instance);
51631af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    }
5179893f7266e7dcc1332743887045bd69991441421Christian Williams
518cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    public static ShadowCameraSize shadowOf(Camera.Size instance) {
519cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey        return (ShadowCameraSize) shadowOf_(instance);
520cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    }
52140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
5225480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey    public static ShadowMediaPlayer shadowOf(MediaPlayer instance) {
5235480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey        return (ShadowMediaPlayer) shadowOf_(instance);
5245480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey    }
5255480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey
52631af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    public static ShadowMediaRecorder shadowOf(MediaRecorder instance) {
52731af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi        return (ShadowMediaRecorder) shadowOf_(instance);
52831af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi    }
529f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz
53024f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz    public static ShadowAssetManager shadowOf(AssetManager instance) {
53124f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz        return (ShadowAssetManager) Robolectric.shadowOf_(instance);
53224f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz    }
53324f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz
534cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    public static ShadowAlarmManager shadowOf(AlarmManager instance) {
535cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey        return (ShadowAlarmManager) Robolectric.shadowOf_(instance);
536cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    }
537cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey
53840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public static ShadowConfiguration shadowOf(Configuration instance) {
53940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        return (ShadowConfiguration) Robolectric.shadowOf_(instance);
540cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey    }
541cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey
542c97f858ddc2222e96a6492c5fba30775cfeac4e4Zoodles    public static ShadowCountDownTimer shadowOf(CountDownTimer instance) {
543c97f858ddc2222e96a6492c5fba30775cfeac4e4Zoodles        return (ShadowCountDownTimer) Robolectric.shadowOf_(instance);
544c97f858ddc2222e96a6492c5fba30775cfeac4e4Zoodles    }
545c97f858ddc2222e96a6492c5fba30775cfeac4e4Zoodles
546b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    public static ShadowBitmap shadowOf(Bitmap other) {
547b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams        return (ShadowBitmap) Robolectric.shadowOf_(other);
548b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    }
549b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams
550b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    public static ShadowBluetoothAdapter shadowOf(BluetoothAdapter other) {
551b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams        return (ShadowBluetoothAdapter) Robolectric.shadowOf_(other);
552b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    }
553b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams
554b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    public static ShadowBluetoothDevice shadowOf(BluetoothDevice other) {
555b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams        return (ShadowBluetoothDevice) Robolectric.shadowOf_(other);
556b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams    }
557b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams
5580d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams    public static ShadowMatrix shadowOf(Matrix other) {
5590d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams        return (ShadowMatrix) Robolectric.shadowOf_(other);
5600d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams    }
5610d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams
562d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams    public static ShadowMotionEvent shadowOf(MotionEvent other) {
563d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams        return (ShadowMotionEvent) Robolectric.shadowOf_(other);
564d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams    }
565d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams
56607a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    public static ShadowNotificationManager shadowOf(NotificationManager other) {
56707a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin        return (ShadowNotificationManager) Robolectric.shadowOf_(other);
56807a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    }
56907a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin
57007a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    public static ShadowNotification shadowOf(Notification other) {
57107a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin        return (ShadowNotification) Robolectric.shadowOf_(other);
57207a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin    }
57307a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin
5746bdff425fce6705103662f20370c9b371ccf23adRich Humphrey    public static ShadowAbsSeekBar shadowOf(AbsSeekBar instance) {
5756bdff425fce6705103662f20370c9b371ccf23adRich Humphrey        return (ShadowAbsSeekBar) shadowOf_(instance);
5766bdff425fce6705103662f20370c9b371ccf23adRich Humphrey    }
5776bdff425fce6705103662f20370c9b371ccf23adRich Humphrey
578b82ccb9a3ef511d607ca5c4238a50d78a6aeaebaRich Humphrey    public static ShadowSeekBar shadowOf(SeekBar instance) {
579b82ccb9a3ef511d607ca5c4238a50d78a6aeaebaRich Humphrey        return (ShadowSeekBar) shadowOf_(instance);
580b82ccb9a3ef511d607ca5c4238a50d78a6aeaebaRich Humphrey    }
581b82ccb9a3ef511d607ca5c4238a50d78a6aeaebaRich Humphrey
582cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham    public static ShadowParcel shadowOf(Parcel instance) {
583cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham    	return (ShadowParcel) shadowOf_(instance);
584cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham    }
585cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham
58686b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    public static ShadowAnimationUtils shadowOf(AnimationUtils instance) {
58786b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    	return (ShadowAnimationUtils) shadowOf_(instance);
58886b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    }
58986b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles
59086b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    public static ShadowGridView shadowOf(GridView instance) {
59186b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    	return (ShadowGridView) shadowOf_(instance);
59286b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles    }
59386b7c8791d1e5bff8403ec7fe6b8bdf7b5e05bf9Zoodles
59408fb8f8709b227d9c12f5197c1884f22137075a5adriancowham    public static ShadowPowerManager shadowOf(PowerManager instance) {
59508fb8f8709b227d9c12f5197c1884f22137075a5adriancowham    	return (ShadowPowerManager) shadowOf_(instance);
59608fb8f8709b227d9c12f5197c1884f22137075a5adriancowham    }
59708fb8f8709b227d9c12f5197c1884f22137075a5adriancowham
59808fb8f8709b227d9c12f5197c1884f22137075a5adriancowham    public static ShadowKeyguardManager shadowOf(KeyguardManager instance) {
59908fb8f8709b227d9c12f5197c1884f22137075a5adriancowham    	return (ShadowKeyguardManager) shadowOf_(instance);
60008fb8f8709b227d9c12f5197c1884f22137075a5adriancowham    }
60108fb8f8709b227d9c12f5197c1884f22137075a5adriancowham
602f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey    public static ShadowInputMethodManager shadowOf(InputMethodManager instance) {
603f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey    	return (ShadowInputMethodManager) shadowOf_(instance);
604f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey    }
605f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey
606f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey   public static ShadowAnimation shadowOf(Animation instance) {
6073f78da998ce73c1c7c25798a7e7e4f19287eff23Michael Portuesi    	return (ShadowAnimation) shadowOf_(instance);
6083f78da998ce73c1c7c25798a7e7e4f19287eff23Michael Portuesi    }
6092afd69b7f52c3c4c1fbe17f46e84d0cb178d3adeKathy Lin
6102afd69b7f52c3c4c1fbe17f46e84d0cb178d3adeKathy Lin   public static ShadowVideoView shadowOf(VideoView instance) {
6112afd69b7f52c3c4c1fbe17f46e84d0cb178d3adeKathy Lin   	return (ShadowVideoView) shadowOf_(instance);
6122afd69b7f52c3c4c1fbe17f46e84d0cb178d3adeKathy Lin   }
6133f78da998ce73c1c7c25798a7e7e4f19287eff23Michael Portuesi
6141fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    @SuppressWarnings({"unchecked"})
615433b46be67768332f764eab6879e0649993d79e3Christian Williams    public static <P, R> P shadowOf_(R instance) {
616cee7ff89bfcb83d6cd65e6de9b7cafe2c1caf40aChristian Williams        return (P) ShadowWrangler.getInstance().shadowOf(instance);
6171fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams    }
61871d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
6190fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    /**
6200fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Runs any background tasks previously queued by {@link android.os.AsyncTask#execute(Object[])}.
621b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * <p/>
6220fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * <p/>
6230fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Note: calling this method does not pause or un-pause the scheduler.
6240fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     */
62571d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public static void runBackgroundTasks() {
6260fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin        getBackgroundScheduler().advanceBy(0);
62771d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
62871d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
6290fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    /**
6300fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Runs any immediately runnable tasks previously queued on the UI thread,
6310fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * e.g. by {@link Activity#runOnUiThread(Runnable)} or {@link android.os.AsyncTask#onPostExecute(Object)}.
632b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * <p/>
6330fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * <p/>
6340fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     * Note: calling this method does not pause or un-pause the scheduler.
6350fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin     */
63671d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public static void runUiThreadTasks() {
637a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz        getUiThreadScheduler().advanceBy(0);
63871d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
639cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
640cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    /**
641bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin     * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers.
642cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     *
643b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param statusCode   the status code of the response
644cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @param responseBody the body of the response
645cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     */
646b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static void addPendingHttpResponse(int statusCode, String responseBody) {
647f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addPendingHttpResponse(statusCode, responseBody);
648cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    }
649cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
650cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    /**
651bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin     * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers.
652cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     *
6536f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     * @param statusCode   the status code of the response
6546f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     * @param responseBody the body of the response
6556f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     * @param contentType the contentType of the response
6566f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     */
65739a416145e85c7008805ef493b2d61f66d669158Tyler Schultz    public static void addPendingHttpResponseWithContentType(int statusCode, String responseBody, Header contentType) {
65839a416145e85c7008805ef493b2d61f66d669158Tyler Schultz        getFakeHttpLayer().addPendingHttpResponseWithContentType(statusCode, responseBody, contentType);
6596f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche    }
6606f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche
6616f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche    /**
6626f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers.
6636f34840c49a26f54f62ead83509e3f64bed7e0cfNeal Sanche     *
664cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @param httpResponse the response
665cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     */
666b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static void addPendingHttpResponse(HttpResponse httpResponse) {
667f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addPendingHttpResponse(httpResponse);
668cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    }
669cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
670cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    /**
6717cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Accessor to obtain HTTP requests made during the current test in the order in which they were made.
672cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     *
673cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @param index index of the request to retrieve.
674cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     * @return the requested request.
675cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz     */
676b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    public static HttpRequest getSentHttpRequest(int index) {
677b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz        return ShadowDefaultRequestDirector.getSentHttpRequest(index);
678cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz    }
679cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz
6807cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
6817cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Accessor to obtain metadata for an HTTP request made during the current test in the order in which they were made.
6827cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
6837cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param index index of the request to retrieve.
6847cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @return the requested request metadata.
6857cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
6867cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static HttpRequestInfo getSentHttpRequestInfo(int index) {
6877cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin        return ShadowDefaultRequestDirector.getSentHttpRequestInfo(index);
6887cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
6897cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
6907cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
6917cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule. The response will be returned when the rule is matched.
6927cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
693b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param method   method to match.
694b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param uri      uri to match.
6957cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param response response to return when a match is found.
6967cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
6977cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void addHttpResponseRule(String method, String uri, HttpResponse response) {
698f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(method, uri, response);
6997cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
7007cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
7017cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
7027cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule with a default method of GET. The response will be returned when the rule is matched.
7037cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
704b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param uri      uri to match.
7057cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param response response to return when a match is found.
7067cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
7077cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void addHttpResponseRule(String uri, HttpResponse response) {
708f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(uri, response);
7097cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
7107cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
7117cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
7127cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule. The response will be returned when the rule is matched.
7137cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
714b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param uri      uri to match.
7157cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param response response to return when a match is found.
7167cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
7177cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void addHttpResponseRule(String uri, String response) {
718f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(uri, response);
7197cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
7207cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
7217cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    /**
7227cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * Adds an HTTP response rule. The response will be returned when the rule is matched.
7237cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     *
7247cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     * @param requestMatcher custom {@code RequestMatcher}.
725b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin     * @param response       response to return when a match is found.
7267cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin     */
7274105051dc6b4e1d67766d1ad886bd3b191f8a68fChristian Williams    public static void addHttpResponseRule(RequestMatcher requestMatcher, HttpResponse response) {
728f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().addHttpResponseRule(requestMatcher, response);
729f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    }
730f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin
731f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin    public static FakeHttpLayer getFakeHttpLayer() {
7327d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin        return getShadowApplication().getFakeHttpLayer();
7337cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    }
7347cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin
735d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin    public static void setDefaultHttpResponse(int statusCode, String responseBody) {
736d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin        getFakeHttpLayer().setDefaultHttpResponse(statusCode, responseBody);
737d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin    }
738d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin
7397cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin    public static void setDefaultHttpResponse(HttpResponse defaultHttpResponse) {
740f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin        getFakeHttpLayer().setDefaultHttpResponse(defaultHttpResponse);
741b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz    }
7425dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
743b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson    public static void clearHttpResponseRules() {
744b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson        getFakeHttpLayer().clearHttpResponseRules();
745b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson    }
746b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson
7475dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void pauseLooper(Looper looper) {
7485dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.pauseLooper(looper);
7495dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
7505dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
7515dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void unPauseLooper(Looper looper) {
7525dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.unPauseLooper(looper);
7535dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
7545dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
7555dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void pauseMainLooper() {
7565dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.pauseMainLooper();
7575dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
7585dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
7595dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    public static void unPauseMainLooper() {
7605dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz        ShadowLooper.unPauseMainLooper();
7615dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz    }
7625dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz
763a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz    public static Scheduler getUiThreadScheduler() {
764a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz        return shadowOf(Looper.getMainLooper()).getScheduler();
765a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz    }
7667d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin
7670fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    public static Scheduler getBackgroundScheduler() {
7680fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin        return getShadowApplication().getBackgroundScheduler();
7690fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin    }
7700fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin
7717d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin    public static ShadowApplication getShadowApplication() {
7727d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin        return shadowOf(Robolectric.application);
7737d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin    }
774c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams
775c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    /**
776c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * Calls {@code performClick()} on a {@code View} after ensuring that it and its ancestors are visible and that it
777c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * is enabled.
778c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     *
779c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * @param view the view to click on
780c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * @return true if {@code View.OnClickListener}s were found and fired, false otherwise.
781c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     * @throws RuntimeException if the preconditions are not met.
782c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams     */
783c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    public static boolean clickOn(View view) {
784c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        return shadowOf(view).checkedPerformClick();
785c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    }
786c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams
787c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    public static String visualize(View view) {
788c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        Canvas canvas = new Canvas();
789c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        view.draw(canvas);
790c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams        return shadowOf(canvas).getDescription();
791c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams    }
792c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin
793c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    public static String visualize(Canvas canvas) {
794c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin        return shadowOf(canvas).getDescription();
795c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    }
796c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin
797c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    public static String visualize(Bitmap bitmap) {
798c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin        return shadowOf(bitmap).getDescription();
799c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin    }
8000b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher}
801