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