Robolectric.java revision 3f78da998ce73c1c7c25798a7e7e4f19287eff23
14a9f6553038df6b893b3d3ccae351723f4cbbae7yangguo@chromium.orgpackage com.xtremelabs.robolectric;
243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport java.util.Arrays;
443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport java.util.List;
543d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
643d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport org.apache.http.Header;
743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport org.apache.http.HttpRequest;
843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport org.apache.http.HttpResponse;
943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport org.apache.http.impl.client.DefaultRequestDirector;
1043d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
1143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.app.Activity;
1243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.app.AlarmManager;
1343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.app.AlertDialog;
1443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.app.Application;
1543d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.app.Dialog;
1643d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.app.KeyguardManager;
1743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.app.ListActivity;
1843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.app.Notification;
1943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.app.NotificationManager;
2043d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.appwidget.AppWidgetManager;
2143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.bluetooth.BluetoothAdapter;
2243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.bluetooth.BluetoothDevice;
2343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.content.ContentValues;
2443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.content.Context;
2543d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.content.ContextWrapper;
2643d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.content.Intent;
2743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.content.res.AssetManager;
2843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.content.res.Configuration;
2943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.content.res.Resources;
305323a9c29497eb5a52821d396990c6d75a37baf7jkummerow@chromium.orgimport android.database.sqlite.SQLiteCursor;
31b4968bea48ba224f54110f626278e2c04649dd5bmstarzinger@chromium.orgimport android.database.sqlite.SQLiteDatabase;
3243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.database.sqlite.SQLiteOpenHelper;
33c514574143c1bf74d4fb6e7dccb175fe9ff2f5d3sgjesse@chromium.orgimport android.database.sqlite.SQLiteQueryBuilder;
3443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.graphics.Bitmap;
35a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgimport android.graphics.Canvas;
3690dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.orgimport android.graphics.ColorMatrix;
372c9426bdda5e95459527292063d885c98180cb0fjkummerow@chromium.orgimport android.graphics.Matrix;
3843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.graphics.Paint;
39a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgimport android.graphics.Path;
404efbdb18fa3063085682c44cc77cf5254cb3d75dsvenpanne@chromium.orgimport android.graphics.drawable.BitmapDrawable;
417c2628c3f0353f0558760c3ca442f934263ea766kmillikin@chromium.orgimport android.graphics.drawable.Drawable;
4243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.hardware.Camera;
43a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgimport android.location.Geocoder;
44a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgimport android.location.LocationManager;
45c1789eecd43bf9c5497636592bf14fa754d04c89machenbach@chromium.orgimport android.media.AudioManager;
462c9426bdda5e95459527292063d885c98180cb0fjkummerow@chromium.orgimport android.media.MediaPlayer;
4743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.media.MediaRecorder;
48c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.comimport android.net.ConnectivityManager;
4943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.net.NetworkInfo;
50c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.comimport android.net.wifi.WifiManager;
51a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgimport android.os.CountDownTimer;
5243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.os.Handler;
53ac6aa175ab59d65cfb7a88dbb621e1d7f1a80b8fsgjesse@chromium.orgimport android.os.Looper;
5443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.os.Parcel;
5531e7138e1a05e29ceefa8919ae12cb621a48ca7fmads.s.agerimport android.os.PowerManager;
56a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgimport android.preference.DialogPreference;
5731e7138e1a05e29ceefa8919ae12cb621a48ca7fmads.s.agerimport android.preference.ListPreference;
5831e7138e1a05e29ceefa8919ae12cb621a48ca7fmads.s.agerimport android.preference.Preference;
5931e7138e1a05e29ceefa8919ae12cb621a48ca7fmads.s.agerimport android.preference.PreferenceActivity;
6071affb54842da76b24f0bb3184e9f0960523f89dkasperl@chromium.orgimport android.preference.PreferenceCategory;
6171affb54842da76b24f0bb3184e9f0960523f89dkasperl@chromium.orgimport android.preference.PreferenceGroup;
6243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.preference.PreferenceScreen;
63394dbcf9009cf5203b6d85e8b515fcff072040f3erik.corry@gmail.comimport android.view.Display;
64303ada708275d2d425b846fb237f1ba7598ee239lrn@chromium.orgimport android.view.LayoutInflater;
65303ada708275d2d425b846fb237f1ba7598ee239lrn@chromium.orgimport android.view.MenuInflater;
66303ada708275d2d425b846fb237f1ba7598ee239lrn@chromium.orgimport android.view.MotionEvent;
67ea88ce93dcb41a9200ec8747ae7642a5db1f4ce7sgjesse@chromium.orgimport android.view.View;
68ea88ce93dcb41a9200ec8747ae7642a5db1f4ce7sgjesse@chromium.orgimport android.view.ViewGroup;
69303ada708275d2d425b846fb237f1ba7598ee239lrn@chromium.orgimport android.view.animation.Animation;
70303ada708275d2d425b846fb237f1ba7598ee239lrn@chromium.orgimport android.view.animation.AnimationUtils;
7143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.webkit.SslErrorHandler;
7243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.webkit.WebSettings;
7343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.webkit.WebView;
7443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.widget.AbsSeekBar;
7543d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.widget.AdapterView;
7646839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.orgimport android.widget.CursorAdapter;
7743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.widget.ExpandableListView;
7846839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.orgimport android.widget.GridView;
7943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.widget.ImageView;
8046839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.orgimport android.widget.ListView;
8143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.widget.ProgressBar;
8246839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.orgimport android.widget.RemoteViews;
83f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.orgimport android.widget.SeekBar;
84f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.orgimport android.widget.TextView;
8543d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.widget.Toast;
8643d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport android.widget.ZoomButtonsController;
8743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
8843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport com.xtremelabs.robolectric.bytecode.RobolectricInternals;
8943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport com.xtremelabs.robolectric.bytecode.ShadowWrangler;
9043d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport com.xtremelabs.robolectric.shadows.*;
913d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.orgimport com.xtremelabs.robolectric.tester.org.apache.http.FakeHttpLayer;
9234e60787ea1e76f3ee49e859f71f036170c21f0elrn@chromium.orgimport com.xtremelabs.robolectric.tester.org.apache.http.HttpRequestInfo;
9343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport com.xtremelabs.robolectric.tester.org.apache.http.RequestMatcher;
9443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenimport com.xtremelabs.robolectric.util.Scheduler;
9546839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.org
9646839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.org@SuppressWarnings({"UnusedDeclaration"})
9743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansenpublic class Robolectric {
9846839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.org    public static Application application;
9946839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.org
10043d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    public static <T> T newInstanceOf(Class<T> clazz) {
10146839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.org        return RobolectricInternals.newInstanceOf(clazz);
10246839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.org    }
103f705b5034dc5bc422ac1019b591469a7d0534772mstarzinger@chromium.org
104f705b5034dc5bc422ac1019b591469a7d0534772mstarzinger@chromium.org    public static Object newInstanceOf(String className) {
105f705b5034dc5bc422ac1019b591469a7d0534772mstarzinger@chromium.org        try {
10643d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen            Class<?> clazz = Class.forName(className);
10743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen            if (clazz != null) {
10843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen                return newInstanceOf(clazz);
10943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen            }
11043d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        } catch (ClassNotFoundException e) {
11143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        }
11243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        return null;
1139faefa4670e0c454c6e56bb87b4410d73828e84fsvenpanne@chromium.org    }
1149faefa4670e0c454c6e56bb87b4410d73828e84fsvenpanne@chromium.org
1159faefa4670e0c454c6e56bb87b4410d73828e84fsvenpanne@chromium.org    public static void bindShadowClass(Class<?> shadowClass) {
1169faefa4670e0c454c6e56bb87b4410d73828e84fsvenpanne@chromium.org        RobolectricInternals.bindShadowClass(shadowClass);
1179faefa4670e0c454c6e56bb87b4410d73828e84fsvenpanne@chromium.org    }
1189faefa4670e0c454c6e56bb87b4410d73828e84fsvenpanne@chromium.org
1199faefa4670e0c454c6e56bb87b4410d73828e84fsvenpanne@chromium.org    public static void bindDefaultShadowClasses() {
1209faefa4670e0c454c6e56bb87b4410d73828e84fsvenpanne@chromium.org        bindShadowClasses(getDefaultShadowClasses());
12143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    }
12243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
12343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    public static void bindShadowClasses(List<Class<?>> shadowClasses) {
1249f18d9111f676f2899d9aa2444130c985eb75395machenbach@chromium.org        for (Class<?> shadowClass : shadowClasses) {
1259f18d9111f676f2899d9aa2444130c985eb75395machenbach@chromium.org            bindShadowClass(shadowClass);
1269f18d9111f676f2899d9aa2444130c985eb75395machenbach@chromium.org        }
1279f18d9111f676f2899d9aa2444130c985eb75395machenbach@chromium.org    }
1289f18d9111f676f2899d9aa2444130c985eb75395machenbach@chromium.org
1299f18d9111f676f2899d9aa2444130c985eb75395machenbach@chromium.org    /**
1309f18d9111f676f2899d9aa2444130c985eb75395machenbach@chromium.org     * Invoke this utility method in tests to reveal which Android api classes and methods are being invoked
1319f18d9111f676f2899d9aa2444130c985eb75395machenbach@chromium.org     * for which there are no shadows or shadow methods. This helps expose which methods are being invoked
1329f18d9111f676f2899d9aa2444130c985eb75395machenbach@chromium.org     * either by a third party library or application code which need new shadow methods to be written. Generates
1339f18d9111f676f2899d9aa2444130c985eb75395machenbach@chromium.org     * output for the current test only.
1349f18d9111f676f2899d9aa2444130c985eb75395machenbach@chromium.org     */
135750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static void logMissingInvokedShadowMethods() {
13643d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        ShadowWrangler.getInstance().logMissingInvokedShadowMethods();
137c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    }
138c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com
139c36ce6e8979bbbd43539f0a0effc87ea20dd65cckmillikin@chromium.org    public static List<Class<?>> getDefaultShadowClasses() {
1408432c9102e4b2125d8eec741d35237cf23167471hpayer@chromium.org        return Arrays.asList(
141c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com                ShadowAbsoluteLayout.class,
14246839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.org                ShadowAbsSeekBar.class,
143c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com                ShadowAbsSpinner.class,
14446839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.org                ShadowAbstractCursor.class,
145f705b5034dc5bc422ac1019b591469a7d0534772mstarzinger@chromium.org                ShadowActivity.class,
146f705b5034dc5bc422ac1019b591469a7d0534772mstarzinger@chromium.org                ShadowAdapterView.class,
147c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com                ShadowAddress.class,
14846839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.org                ShadowAlarmManager.class,
14967255bead6b3c379ed821d8371271e34779602cajkummerow@chromium.org                ShadowAlertDialog.class,
1503d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.org                ShadowAlertDialog.ShadowBuilder.class,
15167255bead6b3c379ed821d8371271e34779602cajkummerow@chromium.org                ShadowAnimation.class,
152c36ce6e8979bbbd43539f0a0effc87ea20dd65cckmillikin@chromium.org                ShadowAnimationUtils.class,
15343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen                ShadowApplication.class,
1542abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org                ShadowAppWidgetManager.class,
155c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com                ShadowArrayAdapter.class,
15643d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen                ShadowAssetManager.class,
15743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen                ShadowAsyncTask.class,
15843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen                ShadowAudioManager.class,
159dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowBaseAdapter.class,
160dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowBitmap.class,
161dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowBitmapDrawable.class,
162dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowBitmapFactory.class,
163dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowBluetoothAdapter.class,
164dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowBluetoothDevice.class,
165dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowBundle.class,
166dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowCamera.class,
167dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowCameraParameters.class,
168dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowCameraSize.class,
169dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowCanvas.class,
170dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowColorMatrix.class,
171dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowColorMatrixColorFilter.class,
172dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                ShadowColorStateList.class,
173303ada708275d2d425b846fb237f1ba7598ee239lrn@chromium.org                ShadowComponentName.class,
174750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowCompoundButton.class,
175303ada708275d2d425b846fb237f1ba7598ee239lrn@chromium.org                ShadowConfiguration.class,
176394dbcf9009cf5203b6d85e8b515fcff072040f3erik.corry@gmail.com                ShadowConnectivityManager.class,
17743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen                ShadowContentResolver.class,
178303ada708275d2d425b846fb237f1ba7598ee239lrn@chromium.org                ShadowContentValues.class,
1798bb60585bafbf81564e6b30fcf18c82615a76f95ager@chromium.org                ShadowContext.class,
1808bb60585bafbf81564e6b30fcf18c82615a76f95ager@chromium.org                ShadowContextWrapper.class,
18143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen                ShadowContextThemeWrapper.class,
18243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen                ShadowCookieManager.class,
18343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen                ShadowCountDownTimer.class,
184d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowCursorAdapter.class,
185d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowDefaultRequestDirector.class,
186d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowDisplay.class,
187d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowDrawable.class,
188d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowDialog.class,
189d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowDialogPreference.class,
190d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowEditText.class,
191d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowExpandableListView.class,
192d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowFloatMath.class,
193d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowGeocoder.class,
194d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowGeoPoint.class,
195d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowGridView.class,
196d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowHandler.class,
197d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowImageView.class,
198d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowIntent.class,
199d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowIntentFilter.class,
200d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowItemizedOverlay.class,
201d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowKeyguardManager.class,
202d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowLayoutInflater.class,
203d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowLayoutParams.class,
204d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowListActivity.class,
205d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowListPreference.class,
206d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowListView.class,
207d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowLocation.class,
208d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowLocationManager.class,
209d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowLooper.class,
210d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowMapController.class,
211d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowMapActivity.class,
212d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowMapView.class,
213d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowMatrix.class,
214d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowMediaPlayer.class,
215d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowMediaRecorder.class,
216d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowMediaStore.ShadowImages.ShadowMedia.class,
217d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowMenuInflater.class,
218d4be0f0c0edfc0a0b46e745055c3dc497c0ffcb5verwaest@chromium.org                ShadowMotionEvent.class,
2199af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowNotification.class,
2209af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowNotificationManager.class,
2219af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowNetworkInfo.class,
2229af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowOverlayItem.class,
2239af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPaint.class,
2249af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowParcel.class,
2259af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPath.class,
2269af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPendingIntent.class,
2279af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPoint.class,
2289af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPointF.class,
2299af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPowerManager.class,
2309af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPreference.class,
2319af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPreferenceActivity.class,
2329af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPreferenceCategory.class,
2339af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPreferenceGroup.class,
2349af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPreferenceManager.class,
2359af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowPreferenceScreen.class,
2369af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowProgressBar.class,
2379af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowRect.class,
2389af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowRemoteViews.class,
2399af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowResources.class,
2409af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowResources.ShadowTheme.class,
2419af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowSeekBar.class,
2429af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowService.class,
2439af454f6b1c6a921ac79ba0b9a979c73adb2ca1emachenbach@chromium.org                ShadowSettings.class,
244750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowSettings.ShadowSecure.class,
245750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowSettings.ShadowSystem.class,
246750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowSpannableStringBuilder.class,
247750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowSQLiteDatabase.class,
248750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowSQLiteCursor.class,
249750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowSQLiteOpenHelper.class,
250750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowSQLiteQueryBuilder.class,
251750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowSslErrorHandler.class,
252750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowSurfaceView.class,
253750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowTextUtils.class,
254750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowTextView.class,
255750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowToast.class,
256750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowTypedArray.class,
257750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowTypedValue.class,
258750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowURLSpan.class,
259750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowView.class,
260750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowViewGroup.class,
261750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowViewStub.class,
262750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowWebSettings.class,
263750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowWebView.class,
264750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowWifiManager.class,
265750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowWindow.class,
266750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org                ShadowZoomButtonsController.class
267750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        );
268750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
269750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
270750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static void resetStaticState() {
271750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        ShadowWrangler.getInstance().silence();
272750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        Robolectric.application = new Application();
273750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        ShadowBitmapFactory.reset();
274750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
275750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
276750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static <T> T directlyOn(T shadowedObject) {
277750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return RobolectricInternals.directlyOn(shadowedObject);
278750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
279750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
280750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowCursorAdapter shadowOf(CursorAdapter instance) {
281750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    	return (ShadowCursorAdapter) shadowOf_(instance);
282750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
283750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
284750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowDrawable shadowOf(Drawable instance) {
285750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowDrawable) shadowOf_(instance);
286750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
287750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
288750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowToast shadowOf(Toast instance) {
289750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowToast) shadowOf_(instance);
290750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
291750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
292750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowNetworkInfo shadowOf(NetworkInfo instance) {
293750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowNetworkInfo) shadowOf_(instance);
294750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
295750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
296750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowConnectivityManager shadowOf(ConnectivityManager instance) {
297750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowConnectivityManager) shadowOf_(instance);
298750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
299750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
300750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowWifiManager shadowOf(WifiManager instance){
301750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    	return (ShadowWifiManager) shadowOf_(instance);
302750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
303750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
304750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowBitmapDrawable shadowOf(BitmapDrawable instance) {
305750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowBitmapDrawable) shadowOf_(instance);
306750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
307750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
308750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowZoomButtonsController shadowOf(ZoomButtonsController instance) {
309750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowZoomButtonsController) shadowOf_(instance);
310750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
311750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
312750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowListView shadowOf(ListView instance) {
313750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowListView) shadowOf_(instance);
314750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
315750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
316750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowExpandableListView shadowOf(ExpandableListView instance) {
317750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowExpandableListView) shadowOf_(instance);
318750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
319750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
320750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowActivity shadowOf(Activity instance) {
321750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowActivity) shadowOf_(instance);
322750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
323750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
324750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowContextWrapper shadowOf(ContextWrapper instance) {
325750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowContextWrapper) shadowOf_(instance);
326750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
327750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
328750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowApplication shadowOf(Application instance) {
329750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowApplication) shadowOf_(instance);
330750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
331750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
332750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowContext shadowOf(Context instance) {
333750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowContext) shadowOf_(instance);
334750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
335750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
336750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowPaint shadowOf(Paint instance) {
337750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowPaint) shadowOf_(instance);
338750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
339750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
340750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowPath shadowOf(Path instance) {
341750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowPath) shadowOf_(instance);
342750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
343750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
344750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowPreference shadowOf(Preference instance) {
345750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowPreference) shadowOf_(instance);
346750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
347750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
348750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowPreferenceActivity shadowOf(PreferenceActivity instance) {
349750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowPreferenceActivity) shadowOf_(instance);
350750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
351750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
352750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowPreferenceCategory shadowOf(PreferenceCategory instance) {
353750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowPreferenceCategory) shadowOf_(instance);
354750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
355750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
356750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowPreferenceGroup shadowOf(PreferenceGroup instance) {
357750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowPreferenceGroup) shadowOf_(instance);
358750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
359750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
360750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowPreferenceScreen shadowOf(PreferenceScreen instance) {
361750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowPreferenceScreen) shadowOf_(instance);
362750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
363750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
364750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowProgressBar shadowOf(ProgressBar instance) {
365750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowProgressBar) shadowOf_(instance);
366750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
367750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
368750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowListActivity shadowOf(ListActivity instance) {
369750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowListActivity) shadowOf_(instance);
370750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
371750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
372750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowListPreference shadowOf(ListPreference instance) {
373750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowListPreference) shadowOf_(instance);
374750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
375750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
376750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowHandler shadowOf(Handler instance) {
377750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowHandler) shadowOf_(instance);
378750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
379750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
380750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowSslErrorHandler shadowOf(SslErrorHandler instance) {
381750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowSslErrorHandler) shadowOf_(instance);
382750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
383750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
384ef33a5482a35a9a25f702f8e3f02bb6b49f3854cjkummerow@chromium.org    public static ShadowColorMatrix shadowOf(ColorMatrix instance) {
385ef33a5482a35a9a25f702f8e3f02bb6b49f3854cjkummerow@chromium.org        return (ShadowColorMatrix) shadowOf_(instance);
386ef33a5482a35a9a25f702f8e3f02bb6b49f3854cjkummerow@chromium.org    }
387ef33a5482a35a9a25f702f8e3f02bb6b49f3854cjkummerow@chromium.org
388ef33a5482a35a9a25f702f8e3f02bb6b49f3854cjkummerow@chromium.org    public static ShadowIntent shadowOf(Intent instance) {
389ef33a5482a35a9a25f702f8e3f02bb6b49f3854cjkummerow@chromium.org        return (ShadowIntent) shadowOf_(instance);
390ef33a5482a35a9a25f702f8e3f02bb6b49f3854cjkummerow@chromium.org    }
391ef33a5482a35a9a25f702f8e3f02bb6b49f3854cjkummerow@chromium.org
3922ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowView shadowOf(View instance) {
3932ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org        return (ShadowView) shadowOf_(instance);
3942ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
3952ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org
396ea88ce93dcb41a9200ec8747ae7642a5db1f4ce7sgjesse@chromium.org    public static ShadowViewGroup shadowOf(ViewGroup instance) {
39743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        return (ShadowViewGroup) shadowOf_(instance);
398ea91cc579ade536e3a08498a8157921dd4f533d1ager@chromium.org    }
39943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
400ea91cc579ade536e3a08498a8157921dd4f533d1ager@chromium.org    public static ShadowWebSettings shadowOf(WebSettings instance) {
40143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        return (ShadowWebSettings) shadowOf_(instance);
402ea91cc579ade536e3a08498a8157921dd4f533d1ager@chromium.org    }
4032ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org
4042ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowWebView shadowOf(WebView instance) {
4052ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org        return (ShadowWebView) shadowOf_(instance);
4062ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
40743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
40843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    public static ShadowAdapterView shadowOf(AdapterView instance) {
40943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        return (ShadowAdapterView) shadowOf_(instance);
410750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
4112ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org
4122ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowTextView shadowOf(TextView instance) {
4132ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org        return (ShadowTextView) shadowOf_(instance);
4147028c05c1c71b9d5c5fe1bca01f2461d17a2dda7mmassi@chromium.org    }
4157028c05c1c71b9d5c5fe1bca01f2461d17a2dda7mmassi@chromium.org
4167028c05c1c71b9d5c5fe1bca01f2461d17a2dda7mmassi@chromium.org    public static ShadowImageView shadowOf(ImageView instance) {
4177028c05c1c71b9d5c5fe1bca01f2461d17a2dda7mmassi@chromium.org        return (ShadowImageView) shadowOf_(instance);
4182ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
4192ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org
4207028c05c1c71b9d5c5fe1bca01f2461d17a2dda7mmassi@chromium.org    public static ShadowRemoteViews shadowOf(RemoteViews instance) {
421750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        return (ShadowRemoteViews) shadowOf_(instance);
422750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    }
4232ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org
424750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowDialog shadowOf(Dialog instance) {
4252ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org        return (ShadowDialog) shadowOf_(instance);
4262ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
4272ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org
4282ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowDialogPreference shadowOf(DialogPreference instance) {
4292ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org        return (ShadowDialogPreference) shadowOf_(instance);
4302ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
431750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org
4322ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowDefaultRequestDirector shadowOf(DefaultRequestDirector instance) {
4332ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org        return (ShadowDefaultRequestDirector) shadowOf_(instance);
4342ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
435662436e7b124b3535773535c671c53db322070b5verwaest@chromium.org
4362ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowAlertDialog shadowOf(AlertDialog instance) {
4372ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org        return (ShadowAlertDialog) shadowOf_(instance);
4382ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
43984bcc559ac20fb04f806e97d28a314b20b58fd60svenpanne@chromium.org
4402ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowLooper shadowOf(Looper instance) {
4412ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org        return (ShadowLooper) shadowOf_(instance);
4422ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
4432ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org
4441510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org    public static ShadowCanvas shadowOf(Canvas instance) {
4451510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org        return (ShadowCanvas) shadowOf_(instance);
4462ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
447ea88ce93dcb41a9200ec8747ae7642a5db1f4ce7sgjesse@chromium.org
4482ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowLocationManager shadowOf(LocationManager instance) {
449ea88ce93dcb41a9200ec8747ae7642a5db1f4ce7sgjesse@chromium.org        return (ShadowLocationManager) shadowOf_(instance);
4502ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
451de88679a78f9dae12fdf7955610969ac4c79b0bemstarzinger@chromium.org
4522ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowAppWidgetManager shadowOf(AppWidgetManager instance) {
45343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        return (ShadowAppWidgetManager) shadowOf_(instance);
45443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    }
45543d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
4562ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowResources shadowOf(Resources instance) {
4572ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org        return (ShadowResources) shadowOf_(instance);
4582ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
4592ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org
4602ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowLayoutInflater shadowOf(LayoutInflater instance) {
4612ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org        return (ShadowLayoutInflater) shadowOf_(instance);
4622ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
4632ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org
4642ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    public static ShadowMenuInflater shadowOf(MenuInflater instance) {
46543d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        return (ShadowMenuInflater) shadowOf_(instance);
4662ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org    }
4672ed0d029906d9c6f0ae06fe8eb7f1180077ae2b0mstarzinger@chromium.org
46843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    public static ShadowDisplay shadowOf(Display instance) {
46943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        return (ShadowDisplay) shadowOf_(instance);
47043d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    }
471c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com
472750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowAudioManager shadowOf(AudioManager instance) {
473c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com        return (ShadowAudioManager) shadowOf_(instance);
47484bcc559ac20fb04f806e97d28a314b20b58fd60svenpanne@chromium.org    }
47509d7ab5aba54ebac170eac755664c45eefb0be7dulan@chromium.org
47609d7ab5aba54ebac170eac755664c45eefb0be7dulan@chromium.org    public static ShadowGeocoder shadowOf(Geocoder instance) {
477c53e10d01c5495df3896b9d318910b58688c6929kmillikin@chromium.org        return (ShadowGeocoder) shadowOf_(instance);
478f705b5034dc5bc422ac1019b591469a7d0534772mstarzinger@chromium.org    }
479f705b5034dc5bc422ac1019b591469a7d0534772mstarzinger@chromium.org
480f705b5034dc5bc422ac1019b591469a7d0534772mstarzinger@chromium.org    public static ShadowSQLiteDatabase shadowOf(SQLiteDatabase other) {
481c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com        return (ShadowSQLiteDatabase) Robolectric.shadowOf_(other);
482c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    }
483c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com
48434e60787ea1e76f3ee49e859f71f036170c21f0elrn@chromium.org    public static ShadowSQLiteCursor shadowOf(SQLiteCursor other) {
485c53e10d01c5495df3896b9d318910b58688c6929kmillikin@chromium.org        return (ShadowSQLiteCursor) Robolectric.shadowOf_(other);
486c53e10d01c5495df3896b9d318910b58688c6929kmillikin@chromium.org    }
487c53e10d01c5495df3896b9d318910b58688c6929kmillikin@chromium.org
488c53e10d01c5495df3896b9d318910b58688c6929kmillikin@chromium.org    public static ShadowSQLiteOpenHelper shadowOf(SQLiteOpenHelper other) {
489c53e10d01c5495df3896b9d318910b58688c6929kmillikin@chromium.org        return (ShadowSQLiteOpenHelper) Robolectric.shadowOf_(other);
4903d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.org    }
4913d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.org
4928e8d8825f97138de12985f8e0d3163074dff5258ulan@chromium.org    public static ShadowSQLiteQueryBuilder shadowOf(SQLiteQueryBuilder other) {
4938e8d8825f97138de12985f8e0d3163074dff5258ulan@chromium.org        return (ShadowSQLiteQueryBuilder) Robolectric.shadowOf_(other);
4948e8d8825f97138de12985f8e0d3163074dff5258ulan@chromium.org    }
4953d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.org
496750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org    public static ShadowContentValues shadowOf(ContentValues other) {
4973d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.org        return (ShadowContentValues) Robolectric.shadowOf_(other);
4988e8d8825f97138de12985f8e0d3163074dff5258ulan@chromium.org    }
4998e8d8825f97138de12985f8e0d3163074dff5258ulan@chromium.org
5008e8d8825f97138de12985f8e0d3163074dff5258ulan@chromium.org    public static ShadowCamera shadowOf(Camera instance) {
5018e8d8825f97138de12985f8e0d3163074dff5258ulan@chromium.org        return (ShadowCamera) shadowOf_(instance);
5023d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.org    }
5033d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.org
5043d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.org    public static ShadowCameraParameters shadowOf(Camera.Parameters instance) {
5053d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.org        return (ShadowCameraParameters) shadowOf_(instance);
506394dbcf9009cf5203b6d85e8b515fcff072040f3erik.corry@gmail.com    }
507394dbcf9009cf5203b6d85e8b515fcff072040f3erik.corry@gmail.com
508394dbcf9009cf5203b6d85e8b515fcff072040f3erik.corry@gmail.com    public static ShadowCameraSize shadowOf(Camera.Size instance) {
509c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com        return (ShadowCameraSize) shadowOf_(instance);
510c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    }
511c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com
512c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    public static ShadowMediaPlayer shadowOf(MediaPlayer instance) {
513c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com        return (ShadowMediaPlayer) shadowOf_(instance);
514c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    }
515c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com
516c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    public static ShadowMediaRecorder shadowOf(MediaRecorder instance) {
517c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com        return (ShadowMediaRecorder) shadowOf_(instance);
5188fa5bd929d2f128e3d554398bd085b3c2f98e23bjkummerow@chromium.org    }
5198fa5bd929d2f128e3d554398bd085b3c2f98e23bjkummerow@chromium.org
5208fa5bd929d2f128e3d554398bd085b3c2f98e23bjkummerow@chromium.org    public static ShadowAssetManager shadowOf(AssetManager instance) {
5218fa5bd929d2f128e3d554398bd085b3c2f98e23bjkummerow@chromium.org        return (ShadowAssetManager) Robolectric.shadowOf_(instance);
5228fa5bd929d2f128e3d554398bd085b3c2f98e23bjkummerow@chromium.org    }
5238fa5bd929d2f128e3d554398bd085b3c2f98e23bjkummerow@chromium.org
5248fa5bd929d2f128e3d554398bd085b3c2f98e23bjkummerow@chromium.org    public static ShadowAlarmManager shadowOf(AlarmManager instance) {
525528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org        return (ShadowAlarmManager) Robolectric.shadowOf_(instance);
526528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    }
527c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com
528c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    public static ShadowConfiguration shadowOf(Configuration instance) {
529c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com        return (ShadowConfiguration) Robolectric.shadowOf_(instance);
530528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    }
531528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org
532528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static ShadowCountDownTimer shadowOf(CountDownTimer instance) {
533528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org        return (ShadowCountDownTimer) Robolectric.shadowOf_(instance);
534c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    }
535c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com
536c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    public static ShadowBitmap shadowOf(Bitmap other) {
537303ada708275d2d425b846fb237f1ba7598ee239lrn@chromium.org        return (ShadowBitmap) Robolectric.shadowOf_(other);
538c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    }
539c03a1924dcc113678c0ebe58aa7d3c855a657719yangguo@chromium.org
540c03a1924dcc113678c0ebe58aa7d3c855a657719yangguo@chromium.org    public static ShadowBluetoothAdapter shadowOf(BluetoothAdapter other) {
541c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com        return (ShadowBluetoothAdapter) Robolectric.shadowOf_(other);
54209d7ab5aba54ebac170eac755664c45eefb0be7dulan@chromium.org    }
543e959c18cf7193e2f021245584a3c8f1f32f82c92kasperl@chromium.org
544c03a1924dcc113678c0ebe58aa7d3c855a657719yangguo@chromium.org    public static ShadowBluetoothDevice shadowOf(BluetoothDevice other) {
545e959c18cf7193e2f021245584a3c8f1f32f82c92kasperl@chromium.org        return (ShadowBluetoothDevice) Robolectric.shadowOf_(other);
546c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    }
547c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com
548c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    public static ShadowMatrix shadowOf(Matrix other) {
549c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com        return (ShadowMatrix) Robolectric.shadowOf_(other);
550e959c18cf7193e2f021245584a3c8f1f32f82c92kasperl@chromium.org    }
551e959c18cf7193e2f021245584a3c8f1f32f82c92kasperl@chromium.org
552c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    public static ShadowMotionEvent shadowOf(MotionEvent other) {
553bb29dc9819bb6f495ab6eddd2543965eb97a8e43ager@chromium.org        return (ShadowMotionEvent) Robolectric.shadowOf_(other);
5542c9426bdda5e95459527292063d885c98180cb0fjkummerow@chromium.org    }
5552c9426bdda5e95459527292063d885c98180cb0fjkummerow@chromium.org
556bb29dc9819bb6f495ab6eddd2543965eb97a8e43ager@chromium.org    public static ShadowNotificationManager shadowOf(NotificationManager other) {
557bb29dc9819bb6f495ab6eddd2543965eb97a8e43ager@chromium.org        return (ShadowNotificationManager) Robolectric.shadowOf_(other);
558bb29dc9819bb6f495ab6eddd2543965eb97a8e43ager@chromium.org    }
559bb29dc9819bb6f495ab6eddd2543965eb97a8e43ager@chromium.org
560bb29dc9819bb6f495ab6eddd2543965eb97a8e43ager@chromium.org    public static ShadowNotification shadowOf(Notification other) {
561bb29dc9819bb6f495ab6eddd2543965eb97a8e43ager@chromium.org        return (ShadowNotification) Robolectric.shadowOf_(other);
56243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    }
563dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org
564dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    public static ShadowAbsSeekBar shadowOf(AbsSeekBar instance) {
565dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org        return (ShadowAbsSeekBar) shadowOf_(instance);
5668bb60585bafbf81564e6b30fcf18c82615a76f95ager@chromium.org    }
567dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org
5688bb60585bafbf81564e6b30fcf18c82615a76f95ager@chromium.org    public static ShadowSeekBar shadowOf(SeekBar instance) {
569dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org        return (ShadowSeekBar) shadowOf_(instance);
5705c838251403b0be9a882540f1922577abba4c872ager@chromium.org    }
57143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
57243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    public static ShadowParcel shadowOf(Parcel instance) {
57343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    	return (ShadowParcel) shadowOf_(instance);
574dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    }
575dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org
576dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    public static ShadowAnimationUtils shadowOf(AnimationUtils instance) {
577dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    	return (ShadowAnimationUtils) shadowOf_(instance);
578dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    }
579dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org
580dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    public static ShadowGridView shadowOf(GridView instance) {
581dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    	return (ShadowGridView) shadowOf_(instance);
582dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    }
583dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org
58443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    public static ShadowPowerManager shadowOf(PowerManager instance) {
585dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    	return (ShadowPowerManager) shadowOf_(instance);
586dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    }
58743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
58843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    public static ShadowKeyguardManager shadowOf(KeyguardManager instance) {
58943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    	return (ShadowKeyguardManager) shadowOf_(instance);
590fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org    }
59143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
592dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    public static ShadowAnimation shadowOf(Animation instance) {
593dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    	return (ShadowAnimation) shadowOf_(instance);
5945c838251403b0be9a882540f1922577abba4c872ager@chromium.org    }
595dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org
596dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    @SuppressWarnings({"unchecked"})
59743d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    public static <P, R> P shadowOf_(R instance) {
59843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        return (P) ShadowWrangler.getInstance().shadowOf(instance);
59943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    }
60043d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
60143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    /**
60243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen     * Runs any background tasks previously queued by {@link android.os.AsyncTask#execute(Object[])}.
603dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org     * <p/>
604dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org     * <p/>
6055c838251403b0be9a882540f1922577abba4c872ager@chromium.org     * Note: calling this method does not pause or un-pause the scheduler.
606dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org     */
607dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    public static void runBackgroundTasks() {
60843d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen        getBackgroundScheduler().advanceBy(0);
6099ed6c32e638b4e3a3e264dd476c81260e98c180eager@chromium.org    }
61043d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
6115c838251403b0be9a882540f1922577abba4c872ager@chromium.org    /**
6125c838251403b0be9a882540f1922577abba4c872ager@chromium.org     * Runs any immediately runnable tasks previously queued on the UI thread,
61343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen     * e.g. by {@link Activity#runOnUiThread(Runnable)} or {@link android.os.AsyncTask#onPostExecute(Object)}.
61443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen     * <p/>
61543d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen     * <p/>
6168bb60585bafbf81564e6b30fcf18c82615a76f95ager@chromium.org     * Note: calling this method does not pause or un-pause the scheduler.
6178bb60585bafbf81564e6b30fcf18c82615a76f95ager@chromium.org     */
618dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    public static void runUiThreadTasks() {
619dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org        getUiThreadScheduler().advanceBy(0);
620dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org    }
62143d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen
62243d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen    /**
62343d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen     * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers.
624870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     *
625870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * @param statusCode   the status code of the response
626870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * @param responseBody the body of the response
627750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org     */
628870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    public static void addPendingHttpResponse(int statusCode, String responseBody) {
6295c838251403b0be9a882540f1922577abba4c872ager@chromium.org        getFakeHttpLayer().addPendingHttpResponse(statusCode, responseBody);
630870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    }
631870a0b67c822d289024711912e2512af01b66c3bager@chromium.org
632870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    /**
633870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers.
634870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     *
635870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * @param statusCode   the status code of the response
636870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * @param responseBody the body of the response
637870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * @param contentType the contentType of the response
638870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     */
6391e8da746019f818a22dfdc6f691dbc0447048cadjkummerow@chromium.org    public static void addPendingHttpResponseWithContentType(int statusCode, String responseBody, Header contentType) {
6401e8da746019f818a22dfdc6f691dbc0447048cadjkummerow@chromium.org        getFakeHttpLayer().addPendingHttpResponseWithContentType(statusCode, responseBody, contentType);
6411e8da746019f818a22dfdc6f691dbc0447048cadjkummerow@chromium.org    }
6421e8da746019f818a22dfdc6f691dbc0447048cadjkummerow@chromium.org
6431e8da746019f818a22dfdc6f691dbc0447048cadjkummerow@chromium.org    /**
644870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers.
645870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     *
646870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * @param httpResponse the response
647870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     */
648870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    public static void addPendingHttpResponse(HttpResponse httpResponse) {
649870a0b67c822d289024711912e2512af01b66c3bager@chromium.org        getFakeHttpLayer().addPendingHttpResponse(httpResponse);
650fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org    }
651870a0b67c822d289024711912e2512af01b66c3bager@chromium.org
652870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    /**
653394dbcf9009cf5203b6d85e8b515fcff072040f3erik.corry@gmail.com     * Accessor to obtain HTTP requests made during the current test in the order in which they were made.
654870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     *
6555c838251403b0be9a882540f1922577abba4c872ager@chromium.org     * @param index index of the request to retrieve.
656870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * @return the requested request.
657870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     */
658870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    public static HttpRequest getSentHttpRequest(int index) {
659870a0b67c822d289024711912e2512af01b66c3bager@chromium.org        return ShadowDefaultRequestDirector.getSentHttpRequest(index);
660870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    }
661870a0b67c822d289024711912e2512af01b66c3bager@chromium.org
662870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    /**
663870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * Accessor to obtain metadata for an HTTP request made during the current test in the order in which they were made.
664870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     *
665870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * @param index index of the request to retrieve.
666870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * @return the requested request metadata.
667394dbcf9009cf5203b6d85e8b515fcff072040f3erik.corry@gmail.com     */
668870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    public static HttpRequestInfo getSentHttpRequestInfo(int index) {
669870a0b67c822d289024711912e2512af01b66c3bager@chromium.org        return ShadowDefaultRequestDirector.getSentHttpRequestInfo(index);
670870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    }
671870a0b67c822d289024711912e2512af01b66c3bager@chromium.org
672870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    /**
673753aee4dcf0868130789b5af7c1eeb6ab2ab24f9verwaest@chromium.org     * Adds an HTTP response rule. The response will be returned when the rule is matched.
674753aee4dcf0868130789b5af7c1eeb6ab2ab24f9verwaest@chromium.org     *
675753aee4dcf0868130789b5af7c1eeb6ab2ab24f9verwaest@chromium.org     * @param method   method to match.
676753aee4dcf0868130789b5af7c1eeb6ab2ab24f9verwaest@chromium.org     * @param uri      uri to match.
677753aee4dcf0868130789b5af7c1eeb6ab2ab24f9verwaest@chromium.org     * @param response response to return when a match is found.
678870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     */
679870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    public static void addHttpResponseRule(String method, String uri, HttpResponse response) {
680de0db002768654f346a9059d80ab47602018bfa0yangguo@chromium.org        getFakeHttpLayer().addHttpResponseRule(method, uri, response);
68199aa490225c81012235659d9a183226b286178c8yangguo@chromium.org    }
682de0db002768654f346a9059d80ab47602018bfa0yangguo@chromium.org
6835c838251403b0be9a882540f1922577abba4c872ager@chromium.org    /**
684870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * Adds an HTTP response rule with a default method of GET. The response will be returned when the rule is matched.
685870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     *
686870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     * @param uri      uri to match.
687394dbcf9009cf5203b6d85e8b515fcff072040f3erik.corry@gmail.com     * @param response response to return when a match is found.
688870a0b67c822d289024711912e2512af01b66c3bager@chromium.org     */
689870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    public static void addHttpResponseRule(String uri, HttpResponse response) {
690870a0b67c822d289024711912e2512af01b66c3bager@chromium.org        getFakeHttpLayer().addHttpResponseRule(uri, response);
691870a0b67c822d289024711912e2512af01b66c3bager@chromium.org    }
692f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org
6932abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org    /**
6942abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org     * Adds an HTTP response rule. The response will be returned when the rule is matched.
6952abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org     *
696b752d4061aaeb7d6a6ec368607871789d54b0207dslomov@chromium.org     * @param uri      uri to match.
6972abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org     * @param response response to return when a match is found.
698b752d4061aaeb7d6a6ec368607871789d54b0207dslomov@chromium.org     */
6992abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org    public static void addHttpResponseRule(String uri, String response) {
7002abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org        getFakeHttpLayer().addHttpResponseRule(uri, response);
7012abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org    }
7022abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org
703528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    /**
704f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org     * Adds an HTTP response rule. The response will be returned when the rule is matched.
705528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org     *
706528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org     * @param requestMatcher custom {@code RequestMatcher}.
707528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org     * @param response       response to return when a match is found.
708528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org     */
709528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static void addHttpResponseRule(RequestMatcher requestMatcher, HttpResponse response) {
710528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org        getFakeHttpLayer().addHttpResponseRule(requestMatcher, response);
711528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    }
7122abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org
713528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static FakeHttpLayer getFakeHttpLayer() {
7142abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org        return getShadowApplication().getFakeHttpLayer();
7152abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org    }
7162abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org
7172abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org    public static void setDefaultHttpResponse(int statusCode, String responseBody) {
718528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org        getFakeHttpLayer().setDefaultHttpResponse(statusCode, responseBody);
719528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    }
720528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org
721528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static void setDefaultHttpResponse(HttpResponse defaultHttpResponse) {
722528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org        getFakeHttpLayer().setDefaultHttpResponse(defaultHttpResponse);
723528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    }
724528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org
725528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static void clearHttpResponseRules() {
726f2038fb01417bcf7698b87a5dfaa4a861539618aerik.corry@gmail.com        getFakeHttpLayer().clearHttpResponseRules();
727f2038fb01417bcf7698b87a5dfaa4a861539618aerik.corry@gmail.com    }
728f2038fb01417bcf7698b87a5dfaa4a861539618aerik.corry@gmail.com
729528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static void pauseLooper(Looper looper) {
730528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org        ShadowLooper.pauseLooper(looper);
731528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    }
732528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org
733528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static void unPauseLooper(Looper looper) {
734528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org        ShadowLooper.unPauseLooper(looper);
7358e36b5ba34174c8ceb04a47d7e10dcc8f43d94a4machenbach@chromium.org    }
7368e36b5ba34174c8ceb04a47d7e10dcc8f43d94a4machenbach@chromium.org
737f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org    public static void pauseMainLooper() {
7388e36b5ba34174c8ceb04a47d7e10dcc8f43d94a4machenbach@chromium.org        ShadowLooper.pauseMainLooper();
7398e36b5ba34174c8ceb04a47d7e10dcc8f43d94a4machenbach@chromium.org    }
7408e36b5ba34174c8ceb04a47d7e10dcc8f43d94a4machenbach@chromium.org
741528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static void unPauseMainLooper() {
742750145ab1b720c97adf2b548cc8fbd28c8b8e06dulan@chromium.org        ShadowLooper.unPauseMainLooper();
743528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    }
744528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org
745528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static Scheduler getUiThreadScheduler() {
7462abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org        return shadowOf(Looper.getMainLooper()).getScheduler();
7478e36b5ba34174c8ceb04a47d7e10dcc8f43d94a4machenbach@chromium.org    }
748528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org
749528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static Scheduler getBackgroundScheduler() {
750528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org        return getShadowApplication().getBackgroundScheduler();
751528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    }
7522abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org
75306ab2ec756e44eeaf7500b9794f9d2abc79dc8cfverwaest@chromium.org    public static ShadowApplication getShadowApplication() {
754528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org        return shadowOf(Robolectric.application);
75506ab2ec756e44eeaf7500b9794f9d2abc79dc8cfverwaest@chromium.org    }
75606ab2ec756e44eeaf7500b9794f9d2abc79dc8cfverwaest@chromium.org
75706ab2ec756e44eeaf7500b9794f9d2abc79dc8cfverwaest@chromium.org    /**
758528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org     * Calls {@code performClick()} on a {@code View} after ensuring that it and its ancestors are visible and that it
759528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org     * is enabled.
76006ab2ec756e44eeaf7500b9794f9d2abc79dc8cfverwaest@chromium.org     *
76106ab2ec756e44eeaf7500b9794f9d2abc79dc8cfverwaest@chromium.org     * @param view the view to click on
76206ab2ec756e44eeaf7500b9794f9d2abc79dc8cfverwaest@chromium.org     * @return true if {@code View.OnClickListener}s were found and fired, false otherwise.
76306ab2ec756e44eeaf7500b9794f9d2abc79dc8cfverwaest@chromium.org     * @throws RuntimeException if the preconditions are not met.
76406ab2ec756e44eeaf7500b9794f9d2abc79dc8cfverwaest@chromium.org     */
76557ff881caeb2e15b46ac9e4dfc00e378f7c5f929ulan@chromium.org    public static boolean clickOn(View view) {
76657ff881caeb2e15b46ac9e4dfc00e378f7c5f929ulan@chromium.org        return shadowOf(view).checkedPerformClick();
76746839fbbdee40a3d2d924e8b5b13c4139b0b24f2yangguo@chromium.org    }
768528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org
769528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static String visualize(View view) {
770528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org        Canvas canvas = new Canvas();
771528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org        view.draw(canvas);
7722abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org        return shadowOf(canvas).getDescription();
773528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    }
7742abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org
775528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org    public static String visualize(Canvas canvas) {
7762abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org        return shadowOf(canvas).getDescription();
7772abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org    }
7782abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org
7792abc450936e88b5c98a5e9d43ee6230ccc748272kasperl@chromium.org    public static String visualize(Bitmap bitmap) {
780ba72ec861b69b67139c93fc6dd56f4a73c9b3135jkummerow@chromium.org        return shadowOf(bitmap).getDescription();
781ba72ec861b69b67139c93fc6dd56f4a73c9b3135jkummerow@chromium.org    }
782ba72ec861b69b67139c93fc6dd56f4a73c9b3135jkummerow@chromium.org}
783ba72ec861b69b67139c93fc6dd56f4a73c9b3135jkummerow@chromium.org