Robolectric.java revision b539795cdd8f6be1b0b01527905a31faea03242c
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; 634105051dc6b4e1d67766d1ad886bd3b191f8a68fChristian Williamsimport com.xtremelabs.robolectric.util.RequestMatcher; 6471d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williamsimport com.xtremelabs.robolectric.util.Scheduler; 65cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultzimport org.apache.http.HttpRequest; 66cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultzimport org.apache.http.HttpResponse; 67b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultzimport org.apache.http.impl.client.DefaultRequestDirector; 680b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher 690b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisherimport java.util.Arrays; 700b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisherimport java.util.List; 710b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher 72bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin@SuppressWarnings({"UnusedDeclaration"}) 73345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williamspublic class Robolectric { 748baea4cbf332f0e0acf559dfab4aa59dd7c71003Christian Williams & Ryan Richard public static Application application; 758baea4cbf332f0e0acf559dfab4aa59dd7c71003Christian Williams & Ryan Richard 760b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher public static <T> T newInstanceOf(Class<T> clazz) { 77111e2299b5157f072d9e62406bd3c6fea9036cd4Christian Williams & Phil Goodwin return RobolectricInternals.newInstanceOf(clazz); 780b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher } 790b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher 801741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin public static Object newInstanceOf(String className) { 811741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin try { 821741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin Class<?> clazz = Class.forName(className); 831741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin if (clazz != null) { 841741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin return newInstanceOf(clazz); 851741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin } 861741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin } catch (ClassNotFoundException e) { 871741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin } 881741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin return null; 891741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin } 901741463ed4618ec2b72cbd7764649fd0cca10a40Phil Goodwin 91e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams public static void bindShadowClass(Class<?> shadowClass) { 92111e2299b5157f072d9e62406bd3c6fea9036cd4Christian Williams & Phil Goodwin RobolectricInternals.bindShadowClass(shadowClass); 93e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams } 94e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams 95e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams public static void bindDefaultShadowClasses() { 96638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams bindShadowClasses(getDefaultShadowClasses()); 97638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams } 98638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams 99638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams public static void bindShadowClasses(List<Class<?>> shadowClasses) { 100638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams for (Class<?> shadowClass : shadowClasses) { 101638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams bindShadowClass(shadowClass); 102e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams } 103e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams } 104e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams 105cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz /** 106cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz * Invoke this utility method in tests to reveal which Android api classes and methods are being invoked 107cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz * for which there are no shadows or shadow methods. This helps expose which methods are being invoked 108cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz * either by a third party library or application code which need new shadow methods to be written. Generates 109cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz * output for the current test only. 110cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz */ 111cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz public static void logMissingInvokedShadowMethods() { 112cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz ShadowWrangler.getInstance().logMissingInvokedShadowMethods(); 113cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz } 114cedd6ea60db4bf5744077021f20092005bb3d461Tyler Schultz 115e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams public static List<Class<?>> getDefaultShadowClasses() { 1160b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher return Arrays.asList( 117c146ad8871a32bbf62aca259ede77d3f9cd07773Tyler Schultz ShadowAbsoluteLayout.class, 118afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAbsSpinner.class, 1199893f7266e7dcc1332743887045bd69991441421Christian Williams ShadowAbstractCursor.class, 120afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowActivity.class, 121afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAdapterView.class, 122afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAddress.class, 123cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey ShadowAlarmManager.class, 124afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAlertDialog.class, 125afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAlertDialog.ShadowBuilder.class, 126afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowApplication.class, 127afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAppWidgetManager.class, 128e9c420439254fc0c893e44987db10e1418fff338mylacc ShadowArrayAdapter.class, 129114296321cba71f8133713306049ce3b411e8563Gonçalo Silva ShadowAssetManager.class, 13071d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams ShadowAsyncTask.class, 13136a56b1b82e6409c81ccc87ab7148cef105b4517Michael Portuesi ShadowAudioManager.class, 132afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowBaseAdapter.class, 133ae26238c7d01caef84ceddd8ffb42c32306918d6Josh Lauer & Christian Williams ShadowBitmap.class, 134afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowBitmapDrawable.class, 135b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams ShadowBitmapFactory.class, 136b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams ShadowBluetoothAdapter.class, 137b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams ShadowBluetoothDevice.class, 13875d564ab2b02cbe8a0d8cb33779530f72ea813abChristian Williams & Ryan Richard ShadowBundle.class, 13931af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi ShadowCamera.class, 14031af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi ShadowCameraParameters.class, 141cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey ShadowCameraSize.class, 142afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowCanvas.class, 143e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams ShadowColorMatrix.class, 144e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams ShadowColorMatrixColorFilter.class, 145b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams ShadowColorStateList.class, 146afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowComponentName.class, 147cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey ShadowCompoundButton.class, 148cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey ShadowConfiguration.class, 1497581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse ShadowConnectivityManager.class, 15020b94927aff24d7bd975d6ee717f1b65da9ee7c1Josh Lauer & Christian Williams ShadowContentResolver.class, 1519893f7266e7dcc1332743887045bd69991441421Christian Williams ShadowContentValues.class, 152afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowContext.class, 153afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowContextWrapper.class, 1541dcccba609fb2036994803ca6d71f9c76e1fe8e9Chee Wong ShadowContextThemeWrapper.class, 155b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams ShadowCookieManager.class, 156cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz ShadowDefaultRequestDirector.class, 157d1eee6c4ec28a6c17455ce5c29efb833f30dd5d0Michael Portuesi ShadowDisplay.class, 158afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowDrawable.class, 159afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowDialog.class, 160afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowEditText.class, 1619044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian ShadowExpandableListView.class, 162d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams ShadowFloatMath.class, 16306abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard ShadowGeocoder.class, 164afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowGeoPoint.class, 165afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowHandler.class, 166afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowImageView.class, 167afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowIntent.class, 168afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowIntentFilter.class, 169afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowItemizedOverlay.class, 170afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowLayoutInflater.class, 171afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowLayoutParams.class, 172afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowListActivity.class, 173afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowListView.class, 174afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowLocation.class, 175afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowLocationManager.class, 176afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowLooper.class, 177afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowMapController.class, 178afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowMapActivity.class, 179afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowMapView.class, 1800d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams ShadowMatrix.class, 1815480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey ShadowMediaPlayer.class, 18276209fe88929d880ac6e008d5a3e6e1e1dd4939aPhil Goodwin ShadowMediaRecorder.class, 183d3f9a56dffcdd129355351019aef9652cce0d6b2Josh Lauer & Christian Williams ShadowMediaStore.ShadowImages.ShadowMedia.class, 18476209fe88929d880ac6e008d5a3e6e1e1dd4939aPhil Goodwin ShadowMenuInflater.class, 185afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowMotionEvent.class, 18607a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin ShadowNotification.class, 18707a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin ShadowNotificationManager.class, 1887581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse ShadowNetworkInfo.class, 189afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowOverlayItem.class, 190afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowPaint.class, 191afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowPath.class, 192afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowPendingIntent.class, 193afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowPoint.class, 194d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams ShadowPointF.class, 195b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams ShadowPowerManager.class, 196e8637c922e4f8e681769d63689accb89e6108056Michael Portuesi ShadowPreferenceManager.class, 197afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowRect.class, 198afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowRemoteViews.class, 199afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowResources.class, 200b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams ShadowResources.ShadowTheme.class, 201afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowService.class, 202afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowSettings.class, 203afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowSettings.ShadowSecure.class, 204afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowSettings.ShadowSystem.class, 205afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowSpannableStringBuilder.class, 2069893f7266e7dcc1332743887045bd69991441421Christian Williams ShadowSQLiteDatabase.class, 207b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi ShadowSQLiteCursor.class, 20828dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi ShadowSQLiteOpenHelper.class, 2093a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi ShadowSQLiteQueryBuilder.class, 2107dc1a70de2b28bdf70d887accfb5805f3497bda8Josh Lauer & Christian Williams ShadowSurfaceView.class, 211afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowTextUtils.class, 212afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowTextView.class, 213afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowToast.class, 214b613c76c40bffb15fbde84df32365bde3ffdb4c5Christian Williams ShadowTypedArray.class, 215afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowTypedValue.class, 216237888bb1e926aea523388de5d511a35f38506efPhil Goodwin & Tyler Schultz ShadowURLSpan.class, 217afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowView.class, 218afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowViewGroup.class, 2190e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams ShadowViewStub.class, 2200189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey ShadowWebSettings.class, 2219ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz ShadowWebView.class, 222afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowWifiManager.class, 223e2f97afa26ab916fbc36ca1bbf18ba507023ab50Christian Williams ShadowWindow.class, 224afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowZoomButtonsController.class 225adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams ); 2260b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher } 22790008046fcb6aac20be2df7a0aa07129f6f0d62bIan Fisher 228345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williams public static void resetStaticState() { 229e6dfaf271dbaf3ac1bb82d953669a56a02fc71d6Phil Goodwin & Tyler Schultz ShadowWrangler.getInstance().silence(); 230345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williams Robolectric.application = new Application(); 231d092cebc8c9179d3a138827fd65961b867e2c53fJosh Lauer & Christian Williams ShadowBitmapFactory.reset(); 23290008046fcb6aac20be2df7a0aa07129f6f0d62bIan Fisher } 2331fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 2349122a05312e767618ba0545a951df9cab86c8716Christian Williams public static <T> T directlyOn(T shadowedObject) { 2359122a05312e767618ba0545a951df9cab86c8716Christian Williams return RobolectricInternals.directlyOn(shadowedObject); 2369122a05312e767618ba0545a951df9cab86c8716Christian Williams } 2379122a05312e767618ba0545a951df9cab86c8716Christian Williams 238433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowDrawable shadowOf(Drawable instance) { 239433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowDrawable) shadowOf_(instance); 2401fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2411fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 242433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowToast shadowOf(Toast instance) { 243433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowToast) shadowOf_(instance); 2441fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2451fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 2467581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse public static ShadowNetworkInfo shadowOf(NetworkInfo instance) { 2477581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse return (ShadowNetworkInfo) shadowOf_(instance); 2487581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse } 2497581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse 2507581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse public static ShadowConnectivityManager shadowOf(ConnectivityManager instance) { 2517581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse return (ShadowConnectivityManager) shadowOf_(instance); 2527581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse } 2537581f8ab1d3fb2950ae13fc09a9b1862d1ec3af1Macarse 254433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowBitmapDrawable shadowOf(BitmapDrawable instance) { 255433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowBitmapDrawable) shadowOf_(instance); 2561fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2571fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 258433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowZoomButtonsController shadowOf(ZoomButtonsController instance) { 259433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowZoomButtonsController) shadowOf_(instance); 2601fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2611fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 262433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowListView shadowOf(ListView instance) { 263433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowListView) shadowOf_(instance); 2641fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2651fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 2669044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian public static ExpandableListView shadowOf(ExpandableListView instance) { 2679044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian return (ExpandableListView) shadowOf_(instance); 2689044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian } 2699044c45523b0b9da7cfc8e0cc8c5ecf5d3085ee0Cristian 270433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowActivity shadowOf(Activity instance) { 271433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowActivity) shadowOf_(instance); 2721fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2731fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 274433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowContextWrapper shadowOf(ContextWrapper instance) { 275433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowContextWrapper) shadowOf_(instance); 2761fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2771fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 278f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin public static ShadowApplication shadowOf(Application instance) { 279f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin return (ShadowApplication) shadowOf_(instance); 280f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin } 281f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin 282f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin public static ShadowContext shadowOf(Context instance) { 283f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin return (ShadowContext) shadowOf_(instance); 2841fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2851fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 286433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowPaint shadowOf(Paint instance) { 287433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowPaint) shadowOf_(instance); 2881fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2891fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 290433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowPath shadowOf(Path instance) { 291433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowPath) shadowOf_(instance); 2921fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2931fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 294433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowListActivity shadowOf(ListActivity instance) { 295433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowListActivity) shadowOf_(instance); 2961fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2971fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 298433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowHandler shadowOf(Handler instance) { 299433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowHandler) shadowOf_(instance); 3001fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3011fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 302e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams public static ShadowColorMatrix shadowOf(ColorMatrix instance) { 303e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams return (ShadowColorMatrix) shadowOf_(instance); 304e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams } 305e3bf0c0e84dd3464de0a508f9c03512d23c11bd8Josh Lauer & Christian Williams 306433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowIntent shadowOf(Intent instance) { 307433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowIntent) shadowOf_(instance); 3081fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3091fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 310433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowView shadowOf(View instance) { 311433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowView) shadowOf_(instance); 3121fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3131fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 314433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowViewGroup shadowOf(ViewGroup instance) { 315433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowViewGroup) shadowOf_(instance); 3161fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3171fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 3180189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public static ShadowWebSettings shadowOf(WebSettings instance) { 3190189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey return (ShadowWebSettings) shadowOf_(instance); 3200189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 3210189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey 3226cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz public static ShadowWebView shadowOf(WebView instance) { 3236cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz return (ShadowWebView) shadowOf_(instance); 3246cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz } 3256cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz 326433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowAdapterView shadowOf(AdapterView instance) { 327433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowAdapterView) shadowOf_(instance); 3281fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3291fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 330433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowTextView shadowOf(TextView instance) { 331433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowTextView) shadowOf_(instance); 3321fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3331fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 334433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowImageView shadowOf(ImageView instance) { 335433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowImageView) shadowOf_(instance); 3361fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3371fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 338433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowRemoteViews shadowOf(RemoteViews instance) { 339433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowRemoteViews) shadowOf_(instance); 3401fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3411fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 342433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowDialog shadowOf(Dialog instance) { 343433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowDialog) shadowOf_(instance); 3441fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3451fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 346b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz public static ShadowDefaultRequestDirector shadowOf(DefaultRequestDirector instance) { 347cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz return (ShadowDefaultRequestDirector) shadowOf_(instance); 348c95377d49257364984344908f301574ebe8d4d9cPhil Goodwin & Tyler Schultz } 349c95377d49257364984344908f301574ebe8d4d9cPhil Goodwin & Tyler Schultz 350433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowAlertDialog shadowOf(AlertDialog instance) { 351433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowAlertDialog) shadowOf_(instance); 3521fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3531fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 354433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowLooper shadowOf(Looper instance) { 355433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowLooper) shadowOf_(instance); 3561fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3571fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 358433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowCanvas shadowOf(Canvas instance) { 359433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowCanvas) shadowOf_(instance); 3601fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3611fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 362433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowLocationManager shadowOf(LocationManager instance) { 363433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowLocationManager) shadowOf_(instance); 3641fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3651fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 366433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowAppWidgetManager shadowOf(AppWidgetManager instance) { 367433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowAppWidgetManager) shadowOf_(instance); 3681fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3691fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 370433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowResources shadowOf(Resources instance) { 371433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowResources) shadowOf_(instance); 3721fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 3731fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 374e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams public static ShadowLayoutInflater shadowOf(LayoutInflater instance) { 37506abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard return (ShadowLayoutInflater) shadowOf_(instance); 376e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams } 377adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams 378b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin public static ShadowMenuInflater shadowOf(MenuInflater instance) { 379b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin return (ShadowMenuInflater) shadowOf_(instance); 380b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin } 381b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin 382adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams public static ShadowDisplay shadowOf(Display instance) { 3834a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams return (ShadowDisplay) shadowOf_(instance); 384adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams } 385adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams 386adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams public static ShadowAudioManager shadowOf(AudioManager instance) { 3874a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams return (ShadowAudioManager) shadowOf_(instance); 3884a9aa604410e3c8f91158a4caa5700f45a22eb47Christian Williams } 389e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams 39006abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard public static ShadowGeocoder shadowOf(Geocoder instance) { 39106abdc35948a13a609c6e6c972d6fa19603b7fe9Joe Moore & Ryan Richard return (ShadowGeocoder) shadowOf_(instance); 392adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams } 393e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams 3949893f7266e7dcc1332743887045bd69991441421Christian Williams public static ShadowSQLiteDatabase shadowOf(SQLiteDatabase other) { 3959893f7266e7dcc1332743887045bd69991441421Christian Williams return (ShadowSQLiteDatabase) Robolectric.shadowOf_(other); 3969893f7266e7dcc1332743887045bd69991441421Christian Williams } 397f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz 398b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi public static ShadowSQLiteCursor shadowOf(SQLiteCursor other) { 399b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi return (ShadowSQLiteCursor) Robolectric.shadowOf_(other); 400b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi } 4019893f7266e7dcc1332743887045bd69991441421Christian Williams 40228dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi public static ShadowSQLiteOpenHelper shadowOf(SQLiteOpenHelper other) { 40328dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi return (ShadowSQLiteOpenHelper) Robolectric.shadowOf_(other); 40428dd1fc86f58b35b79e2fedc13f5b26f600a9a6aMichael Portuesi } 405f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz 4063a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi public static ShadowSQLiteQueryBuilder shadowOf(SQLiteQueryBuilder other) { 4073a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi return (ShadowSQLiteQueryBuilder) Robolectric.shadowOf_(other); 4083a99d4817b65b7eb0a9f44486072dbf43fdb2144Michael Portuesi } 409f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz 4109893f7266e7dcc1332743887045bd69991441421Christian Williams public static ShadowContentValues shadowOf(ContentValues other) { 4119893f7266e7dcc1332743887045bd69991441421Christian Williams return (ShadowContentValues) Robolectric.shadowOf_(other); 4129893f7266e7dcc1332743887045bd69991441421Christian Williams } 4139893f7266e7dcc1332743887045bd69991441421Christian Williams 41431af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi public static ShadowCamera shadowOf(Camera instance) { 41531af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi return (ShadowCamera) shadowOf_(instance); 41631af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi } 417f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz 41831af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi public static ShadowCameraParameters shadowOf(Camera.Parameters instance) { 41931af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi return (ShadowCameraParameters) shadowOf_(instance); 42031af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi } 4219893f7266e7dcc1332743887045bd69991441421Christian Williams 422cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey public static ShadowCameraSize shadowOf(Camera.Size instance) { 423cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey return (ShadowCameraSize) shadowOf_(instance); 424cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey } 42540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 4265480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey public static ShadowMediaPlayer shadowOf(MediaPlayer instance) { 4275480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey return (ShadowMediaPlayer) shadowOf_(instance); 4285480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey } 4295480630a30500f34f6e03ed218d80f5ad843ed87Rich Humphrey 43031af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi public static ShadowMediaRecorder shadowOf(MediaRecorder instance) { 43131af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi return (ShadowMediaRecorder) shadowOf_(instance); 43231af8607e2c7da6ba8708f57c4b67b6b4aaad921Michael Portuesi } 433f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultz 43424f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz public static ShadowAssetManager shadowOf(AssetManager instance) { 43524f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz return (ShadowAssetManager) Robolectric.shadowOf_(instance); 43624f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz } 43724f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz 438cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey public static ShadowAlarmManager shadowOf(AlarmManager instance) { 439cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey return (ShadowAlarmManager) Robolectric.shadowOf_(instance); 440cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey } 441cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey 44240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public static ShadowConfiguration shadowOf(Configuration instance) { 44340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return (ShadowConfiguration) Robolectric.shadowOf_(instance); 444cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey } 445cf37f66c9bcbf0b25b879fbb78c9442c9101c7acRich Humphrey 446b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams public static ShadowBitmap shadowOf(Bitmap other) { 447b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams return (ShadowBitmap) Robolectric.shadowOf_(other); 448b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams } 449b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams 450b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams public static ShadowBluetoothAdapter shadowOf(BluetoothAdapter other) { 451b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams return (ShadowBluetoothAdapter) Robolectric.shadowOf_(other); 452b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams } 453b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams 454b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams public static ShadowBluetoothDevice shadowOf(BluetoothDevice other) { 455b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams return (ShadowBluetoothDevice) Robolectric.shadowOf_(other); 456b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams } 457b01474a3329222965d31068f5c33e59c6e6aa6a4Josh Lauer & Christian Williams 4580d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams public static ShadowMatrix shadowOf(Matrix other) { 4590d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams return (ShadowMatrix) Robolectric.shadowOf_(other); 4600d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams } 4610d21afe8a769457a7c6691bd8418a73aafb46beaJosh Lauer & Christian Williams 462d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams public static ShadowMotionEvent shadowOf(MotionEvent other) { 463d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams return (ShadowMotionEvent) Robolectric.shadowOf_(other); 464d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams } 465d4e5d32b81cae2114f66739beaac6fe1ceeead0dJosh Lauer & Christian Williams 46607a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin public static ShadowNotificationManager shadowOf(NotificationManager other) { 46707a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin return (ShadowNotificationManager) Robolectric.shadowOf_(other); 46807a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin } 46907a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin 47007a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin public static ShadowNotification shadowOf(Notification other) { 47107a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin return (ShadowNotification) Robolectric.shadowOf_(other); 47207a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin } 47307a3254138fdfe62b70c194b458879c51bea72b4Phil Goodwin 4741fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams @SuppressWarnings({"unchecked"}) 475433b46be67768332f764eab6879e0649993d79e3Christian Williams public static <P, R> P shadowOf_(R instance) { 476cee7ff89bfcb83d6cd65e6de9b7cafe2c1caf40aChristian Williams return (P) ShadowWrangler.getInstance().shadowOf(instance); 4771fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 47871d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams 4790fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin /** 4800fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin * Runs any background tasks previously queued by {@link android.os.AsyncTask#execute(Object[])}. 481b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin * <p/> 4820fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin * <p/> 4830fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin * Note: calling this method does not pause or un-pause the scheduler. 4840fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin */ 48571d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams public static void runBackgroundTasks() { 4860fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin getBackgroundScheduler().advanceBy(0); 48771d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams } 48871d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams 4890fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin /** 4900fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin * Runs any immediately runnable tasks previously queued on the UI thread, 4910fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin * e.g. by {@link Activity#runOnUiThread(Runnable)} or {@link android.os.AsyncTask#onPostExecute(Object)}. 492b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin * <p/> 4930fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin * <p/> 4940fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin * Note: calling this method does not pause or un-pause the scheduler. 4950fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin */ 49671d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams public static void runUiThreadTasks() { 497a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz getUiThreadScheduler().advanceBy(0); 49871d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams } 499cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz 500cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz /** 501bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers. 502cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz * 503b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin * @param statusCode the status code of the response 504cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz * @param responseBody the body of the response 505cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz */ 506b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz public static void addPendingHttpResponse(int statusCode, String responseBody) { 507f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin getFakeHttpLayer().addPendingHttpResponse(statusCode, responseBody); 508cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz } 509cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz 510cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz /** 511bd9537bd36434865d4d25ef332bd388d39a51e34Christian Williams & Phil Goodwin * Sets up an HTTP response to be returned by calls to Apache's {@code HttpClient} implementers. 512cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz * 513cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz * @param httpResponse the response 514cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz */ 515b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz public static void addPendingHttpResponse(HttpResponse httpResponse) { 516f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin getFakeHttpLayer().addPendingHttpResponse(httpResponse); 517cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz } 518cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz 519cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz /** 5207cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * Accessor to obtain HTTP requests made during the current test in the order in which they were made. 521cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz * 522cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz * @param index index of the request to retrieve. 523cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz * @return the requested request. 524cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz */ 525b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz public static HttpRequest getSentHttpRequest(int index) { 526b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz return ShadowDefaultRequestDirector.getSentHttpRequest(index); 527cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz } 528cf8438f6160ad20fcd8afc57485b35166bec4a2bPhil Goodwin & Tyler Schultz 5297cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin /** 5307cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * Accessor to obtain metadata for an HTTP request made during the current test in the order in which they were made. 5317cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * 5327cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * @param index index of the request to retrieve. 5337cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * @return the requested request metadata. 5347cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin */ 5357cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin public static HttpRequestInfo getSentHttpRequestInfo(int index) { 5367cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin return ShadowDefaultRequestDirector.getSentHttpRequestInfo(index); 5377cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin } 5387cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin 5397cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin /** 5407cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * Adds an HTTP response rule. The response will be returned when the rule is matched. 5417cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * 542b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin * @param method method to match. 543b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin * @param uri uri to match. 5447cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * @param response response to return when a match is found. 5457cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin */ 5467cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin public static void addHttpResponseRule(String method, String uri, HttpResponse response) { 547f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin getFakeHttpLayer().addHttpResponseRule(method, uri, response); 5487cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin } 5497cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin 5507cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin /** 5517cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * Adds an HTTP response rule with a default method of GET. The response will be returned when the rule is matched. 5527cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * 553b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin * @param uri uri to match. 5547cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * @param response response to return when a match is found. 5557cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin */ 5567cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin public static void addHttpResponseRule(String uri, HttpResponse response) { 557f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin getFakeHttpLayer().addHttpResponseRule(uri, response); 5587cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin } 5597cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin 5607cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin /** 5617cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * Adds an HTTP response rule. The response will be returned when the rule is matched. 5627cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * 563b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin * @param uri uri to match. 5647cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * @param response response to return when a match is found. 5657cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin */ 5667cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin public static void addHttpResponseRule(String uri, String response) { 567f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin getFakeHttpLayer().addHttpResponseRule(uri, response); 5687cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin } 5697cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin 5707cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin /** 5717cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * Adds an HTTP response rule. The response will be returned when the rule is matched. 5727cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * 5737cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin * @param requestMatcher custom {@code RequestMatcher}. 574b539366073ccb47433de7191dbbf519ed4ab2d8fPhil Goodwin * @param response response to return when a match is found. 5757cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin */ 5764105051dc6b4e1d67766d1ad886bd3b191f8a68fChristian Williams public static void addHttpResponseRule(RequestMatcher requestMatcher, HttpResponse response) { 577f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin getFakeHttpLayer().addHttpResponseRule(requestMatcher, response); 578f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin } 579f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin 580f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin public static FakeHttpLayer getFakeHttpLayer() { 5817d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin return getShadowApplication().getFakeHttpLayer(); 5827cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin } 5837cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin 584d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin public static void setDefaultHttpResponse(int statusCode, String responseBody) { 585d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin getFakeHttpLayer().setDefaultHttpResponse(statusCode, responseBody); 586d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin } 587d76cb3959b31f5def82d0476cc114cc5da06a7a1Phil Goodwin 5887cf93e04b5b478b64f757a4b86ed75e28ae612c1Christian Williams & Phil Goodwin public static void setDefaultHttpResponse(HttpResponse defaultHttpResponse) { 589f91a118112ae13d39251dd3c09f1d85d33283ba1Christian Williams & Phil Goodwin getFakeHttpLayer().setDefaultHttpResponse(defaultHttpResponse); 590b2fea8dc6ecf427c1e620148946b6fd83a0bd210Phil Goodwin & Tyler Schultz } 5915dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz 592b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson public static void clearHttpResponseRules() { 593b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson getFakeHttpLayer().clearHttpResponseRules(); 594b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson } 595b539795cdd8f6be1b0b01527905a31faea03242cRob Dickerson 5965dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz public static void pauseLooper(Looper looper) { 5975dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz ShadowLooper.pauseLooper(looper); 5985dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz } 5995dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz 6005dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz public static void unPauseLooper(Looper looper) { 6015dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz ShadowLooper.unPauseLooper(looper); 6025dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz } 6035dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz 6045dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz public static void pauseMainLooper() { 6055dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz ShadowLooper.pauseMainLooper(); 6065dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz } 6075dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz 6085dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz public static void unPauseMainLooper() { 6095dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz ShadowLooper.unPauseMainLooper(); 6105dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz } 6115dab156481a91717311fa47ff7e27a54865abfa3Phil Goodwin & Tyler Schultz 612a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz public static Scheduler getUiThreadScheduler() { 613a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz return shadowOf(Looper.getMainLooper()).getScheduler(); 614a4f7d50f8e6f12d541421383544fe16c185e4bbcPhil Goodwin & Tyler Schultz } 6157d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin 6160fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin public static Scheduler getBackgroundScheduler() { 6170fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin return getShadowApplication().getBackgroundScheduler(); 6180fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin } 6190fe1965a36c508fb5b9fa4c8d0caa2d30540f2ccChristian Williams & Phil Goodwin 6207d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin public static ShadowApplication getShadowApplication() { 6217d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin return shadowOf(Robolectric.application); 6227d446513cda09628ec24023cfdebeca847700b52Christian Williams & Phil Goodwin } 623c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams 624c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams /** 625c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams * Calls {@code performClick()} on a {@code View} after ensuring that it and its ancestors are visible and that it 626c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams * is enabled. 627c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams * 628c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams * @param view the view to click on 629c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams * @return true if {@code View.OnClickListener}s were found and fired, false otherwise. 630c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams * @throws RuntimeException if the preconditions are not met. 631c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams */ 632c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams public static boolean clickOn(View view) { 633c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams return shadowOf(view).checkedPerformClick(); 634c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams } 635c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams 636c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams public static String visualize(View view) { 637c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams Canvas canvas = new Canvas(); 638c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams view.draw(canvas); 639c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams return shadowOf(canvas).getDescription(); 640c0ff00024bd89540c9a5bac5c88b4da4b38f0456Josh Lauer & Christian Williams } 641c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin 642c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin public static String visualize(Canvas canvas) { 643c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin return shadowOf(canvas).getDescription(); 644c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin } 645c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin 646c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin public static String visualize(Bitmap bitmap) { 647c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin return shadowOf(bitmap).getDescription(); 648c80983d2a778c62de05423980ba943217e2275bcChristian Williams & Phil Goodwin } 6490b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher} 650