Robolectric.java revision 9122a05312e767618ba0545a951df9cab86c8716
1345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williamspackage com.xtremelabs.robolectric; 20b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher 31fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.app.*; 41fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.appwidget.AppWidgetManager; 51fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.Context; 61fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.ContextWrapper; 71fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.Intent; 81fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.content.res.Resources; 91fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.graphics.Canvas; 101fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.graphics.Paint; 111fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.graphics.Path; 121fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.graphics.drawable.BitmapDrawable; 131fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.graphics.drawable.Drawable; 141fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.location.LocationManager; 151fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.os.Handler; 161fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.os.Looper; 17e7a41c9b39233781c97dd599ff61024f0510e308Christian Williamsimport android.view.LayoutInflater; 181fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.view.View; 191fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.view.ViewGroup; 201fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport android.widget.*; 211fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport com.google.android.maps.GeoPoint; 221fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport com.google.android.maps.ItemizedOverlay; 231fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport com.google.android.maps.MapController; 241fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williamsimport com.google.android.maps.MapView; 2533873d2b41a5cd2597b20a4e88eb8942944c0f23Tyler Schultzimport com.xtremelabs.robolectric.shadows.*; 26e7a41c9b39233781c97dd599ff61024f0510e308Christian Williamsimport com.xtremelabs.robolectric.util.Implements; 27a2043a8fff01f3e2d9a5e30dd1cf5fb6a5342f4dTyler Schultzimport com.xtremelabs.robolectric.view.TestSharedPreferences; 280b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher 290b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisherimport java.lang.reflect.Constructor; 300b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisherimport java.lang.reflect.InvocationTargetException; 310b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisherimport java.util.Arrays; 320b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisherimport java.util.List; 330b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher 34345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williamspublic class Robolectric { 358baea4cbf332f0e0acf559dfab4aa59dd7c71003Christian Williams & Ryan Richard public static Application application; 368baea4cbf332f0e0acf559dfab4aa59dd7c71003Christian Williams & Ryan Richard 370b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher public static <T> T newInstanceOf(Class<T> clazz) { 380b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher try { 390b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher Constructor<T> defaultConstructor = clazz.getDeclaredConstructor(); 400b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher defaultConstructor.setAccessible(true); 410b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher return defaultConstructor.newInstance(); 420b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher } catch (InstantiationException e) { 430b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher throw new RuntimeException(e); 440b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher } catch (IllegalAccessException e) { 450b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher throw new RuntimeException(e); 460b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher } catch (NoSuchMethodException e) { 470b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher throw new RuntimeException(e); 480b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher } catch (InvocationTargetException e) { 490b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher throw new RuntimeException(e); 500b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher } 510b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher } 520b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher 53e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams public static void bindShadowClass(Class<?> realClass, Class<?> shadowClass) { 54cee7ff89bfcb83d6cd65e6de9b7cafe2c1caf40aChristian Williams ShadowWrangler.getInstance().bindShadowClass(realClass, shadowClass); 55e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams } 56e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams 57e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams public static void bindShadowClass(Class<?> shadowClass) { 58e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams Implements realClass = shadowClass.getAnnotation(Implements.class); 59e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams bindShadowClass(realClass.value(), shadowClass); 60e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams } 61e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams 62e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams public static void bindDefaultShadowClasses() { 63638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams bindShadowClasses(getDefaultShadowClasses()); 64638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams } 65638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams 66638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams public static void bindShadowClasses(List<Class<?>> shadowClasses) { 67638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams for (Class<?> shadowClass : shadowClasses) { 68638a930898ff7ff4d62b8a3028439142af65e4b4Christian Williams bindShadowClass(shadowClass); 69e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams } 70e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams } 71e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams 72e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams public static List<Class<?>> getDefaultShadowClasses() { 730b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher return Arrays.asList( 74afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAbsSpinner.class, 75afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowActivity.class, 76afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAdapterView.class, 77afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAddress.class, 78afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAlertDialog.class, 79afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAlertDialog.ShadowBuilder.class, 80afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowApplication.class, 81afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAppWidgetManager.class, 82afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowBaseAdapter.class, 83afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowBitmapDrawable.class, 8475d564ab2b02cbe8a0d8cb33779530f72ea813abChristian Williams & Ryan Richard ShadowBundle.class, 85afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowCanvas.class, 86afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowCompoundButton.class, 87afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowComponentName.class, 88afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowContext.class, 89afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowContextWrapper.class, 901dcccba609fb2036994803ca6d71f9c76e1fe8e9Chee Wong ShadowContextThemeWrapper.class, 91afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowDrawable.class, 92afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowDialog.class, 93afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowEditText.class, 94afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowGeoPoint.class, 95afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowHandler.class, 96afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowImageView.class, 97afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowIntent.class, 98afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowIntentFilter.class, 99afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowItemizedOverlay.class, 100afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowLayoutInflater.class, 101afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowLayoutParams.class, 102afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowListActivity.class, 103afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowListView.class, 104afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowLocation.class, 105afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowLocationManager.class, 106afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowLooper.class, 107afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowMapController.class, 108afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowMapActivity.class, 109afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowMapView.class, 110afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowMotionEvent.class, 111afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowOverlayItem.class, 112afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowPaint.class, 113afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowPath.class, 114afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowPendingIntent.class, 115afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowPoint.class, 116afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowRect.class, 117afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowRemoteViews.class, 118afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowResources.class, 119afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowService.class, 120afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowSettings.class, 121afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowSettings.ShadowSecure.class, 122afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowSettings.ShadowSystem.class, 123afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowSpannableStringBuilder.class, 124afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowTextUtils.class, 125afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowTextView.class, 126afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowToast.class, 127afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowTypedValue.class, 128afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowView.class, 129afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowViewGroup.class, 130afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowWifiManager.class, 131afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowZoomButtonsController.class 13271eec9cd1f7346c359a96fd714c5c6c41ead790fRyan Richard ); 1330b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher } 13490008046fcb6aac20be2df7a0aa07129f6f0d62bIan Fisher 135345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williams public static void resetStaticState() { 136345fb6b77303f0d3c98cf748fefa0136183bdc79Christian Williams Robolectric.application = new Application(); 13790008046fcb6aac20be2df7a0aa07129f6f0d62bIan Fisher TestSharedPreferences.reset(); 138afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowToast.reset(); 139afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowAlertDialog.reset(); 140afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowDialog.reset(); 141afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams ShadowLooper.resetAll(); 14290008046fcb6aac20be2df7a0aa07129f6f0d62bIan Fisher } 1431fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 1449122a05312e767618ba0545a951df9cab86c8716Christian Williams public static <T> T directlyOn(T shadowedObject) { 1459122a05312e767618ba0545a951df9cab86c8716Christian Williams return RobolectricInternals.directlyOn(shadowedObject); 1469122a05312e767618ba0545a951df9cab86c8716Christian Williams } 1479122a05312e767618ba0545a951df9cab86c8716Christian Williams 148433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowDrawable shadowOf(Drawable instance) { 149433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowDrawable) shadowOf_(instance); 1501fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1511fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 152433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowToast shadowOf(Toast instance) { 153433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowToast) shadowOf_(instance); 1541fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1551fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 156433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowBitmapDrawable shadowOf(BitmapDrawable instance) { 157433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowBitmapDrawable) shadowOf_(instance); 1581fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1591fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 160433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowZoomButtonsController shadowOf(ZoomButtonsController instance) { 161433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowZoomButtonsController) shadowOf_(instance); 1621fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1631fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 164433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowGeoPoint shadowOf(GeoPoint instance) { 165433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowGeoPoint) shadowOf_(instance); 1661fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1671fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 168433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowMapView shadowOf(MapView instance) { 169433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowMapView) shadowOf_(instance); 1701fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1711fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 172433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowMapController shadowOf(MapController instance) { 173433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowMapController) shadowOf_(instance); 1741fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1751fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 176433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowItemizedOverlay shadowOf(ItemizedOverlay instance) { 177433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowItemizedOverlay) shadowOf_(instance); 1781fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1791fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 180433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowListView shadowOf(ListView instance) { 181433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowListView) shadowOf_(instance); 1821fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1831fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 184433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowActivity shadowOf(Activity instance) { 185433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowActivity) shadowOf_(instance); 1861fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1871fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 188433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowContextWrapper shadowOf(ContextWrapper instance) { 189433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowContextWrapper) shadowOf_(instance); 1901fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1911fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 192433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowContextWrapper shadowOf(Context instance) { 193433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowContextWrapper) shadowOf_(instance); 1941fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1951fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 196433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowPaint shadowOf(Paint instance) { 197433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowPaint) shadowOf_(instance); 1981fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 1991fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 200433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowPath shadowOf(Path instance) { 201433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowPath) shadowOf_(instance); 2021fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2031fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 204433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowListActivity shadowOf(ListActivity instance) { 205433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowListActivity) shadowOf_(instance); 2061fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2071fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 208433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowHandler shadowOf(Handler instance) { 209433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowHandler) shadowOf_(instance); 2101fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2111fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 212433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowIntent shadowOf(Intent instance) { 213433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowIntent) shadowOf_(instance); 2141fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2151fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 216433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowView shadowOf(View instance) { 217433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowView) shadowOf_(instance); 2181fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2191fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 220433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowViewGroup shadowOf(ViewGroup instance) { 221433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowViewGroup) shadowOf_(instance); 2221fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2231fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 224433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowAdapterView shadowOf(AdapterView instance) { 225433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowAdapterView) shadowOf_(instance); 2261fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2271fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 228433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowTextView shadowOf(TextView instance) { 229433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowTextView) shadowOf_(instance); 2301fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2311fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 232433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowImageView shadowOf(ImageView instance) { 233433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowImageView) shadowOf_(instance); 2341fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2351fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 236433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowRemoteViews shadowOf(RemoteViews instance) { 237433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowRemoteViews) shadowOf_(instance); 2381fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2391fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 240433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowDialog shadowOf(Dialog instance) { 241433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowDialog) shadowOf_(instance); 2421fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2431fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 244433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowAlertDialog shadowOf(AlertDialog instance) { 245433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowAlertDialog) shadowOf_(instance); 2461fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2471fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 248433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowLooper shadowOf(Looper instance) { 249433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowLooper) shadowOf_(instance); 2501fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2511fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 252433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowCanvas shadowOf(Canvas instance) { 253433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowCanvas) shadowOf_(instance); 2541fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2551fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 256433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowLocationManager shadowOf(LocationManager instance) { 257433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowLocationManager) shadowOf_(instance); 2581fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2591fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 260433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowAppWidgetManager shadowOf(AppWidgetManager instance) { 261433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowAppWidgetManager) shadowOf_(instance); 2621fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2631fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 264433b46be67768332f764eab6879e0649993d79e3Christian Williams public static ShadowResources shadowOf(Resources instance) { 265433b46be67768332f764eab6879e0649993d79e3Christian Williams return (ShadowResources) shadowOf_(instance); 2661fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2671fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams 268e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams public static ShadowLayoutInflater shadowOf(LayoutInflater instance) { 269e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams return ((ShadowLayoutInflater) shadowOf_(instance)); 270e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams } 271e7a41c9b39233781c97dd599ff61024f0510e308Christian Williams 2721fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams @SuppressWarnings({"unchecked"}) 273433b46be67768332f764eab6879e0649993d79e3Christian Williams public static <P, R> P shadowOf_(R instance) { 274cee7ff89bfcb83d6cd65e6de9b7cafe2c1caf40aChristian Williams return (P) ShadowWrangler.getInstance().shadowOf(instance); 2751fbcf7680e415c7b15a08376835385a9226e8d2bChristian Williams } 2760b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher} 277