aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java
diff options
context:
space:
mode:
authorChristian Williams & Dimitris Couchell <github+xian+dimitris@squareup.com>2012-11-16 13:26:26 -0800
committerChristian Williams & Dimitris Couchell <github+xian+dimitris@squareup.com>2012-11-16 13:26:26 -0800
commit9e11c64f01e0d72a3f469d5866b695c778387c26 (patch)
tree55ac8eab369bbdc4c044ed094e807d7872ab1677 /src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java
parent75038b993ec0db85953f392a0c129648212d9ad6 (diff)
parent809d8cbbad66c0e51847c681f0e04526929f99b8 (diff)
downloadrobolectric-shadows-9e11c64f01e0d72a3f469d5866b695c778387c26.tar.gz
Merge remote-tracking branch 'square/master' into robolectric-2-master
* square/master: (152 commits) Reverted pom to r2 since our build server can't handle r3 Implement ShadowBitmapDrawable.mutate() Attempt to be DRY about SDK. Ha. And update the manifest to API 16. Update resource loading to use API 16. 'snapshots' -> 'url' Update to a Maps dependnecy from this decade. Allow for specifying a custom nexus URL via profile. Allow system features to be toggled. Fix Fragment resume state tracking. Return drawables when setting CompoundDrawables with resourceIds Include text values in TextView dump. Implement TextUtils.htmlEncode. Implement CheckedTestView toggling etc. Call View#onAttachedToWindow, View#onDetachedFromWindow, Fragment#onAttach, and Fragment#onDetach as appropriate. Add Robolectric.dump() and Robolectric.innerText() convenience methods. Include visibility attribute in view dump. Implement TypedArray#getTextArray. Provide a way to inject a Resources object on resources-related shadows (implement UsesResources). Support enabling bluetooth Add getOnFocusChangeListener to View When popping a fragment from the back stack, restore the previoius fragment. Implement Bundle.set/get*Array. ... Conflicts: .gitignore .pairs README.md build.xml find-android.bat lib/main/junit-dep-4.8.2.jar pom.xml src/main/java/android/os/TestVibrator.java src/main/java/android/webkit/TestWebSettings.java src/main/java/com/xtremelabs/robolectric/Robolectric.java src/main/java/com/xtremelabs/robolectric/RobolectricConfig.java src/main/java/com/xtremelabs/robolectric/RobolectricTestRunner.java src/main/java/com/xtremelabs/robolectric/res/ColorResourceLoader.java src/main/java/com/xtremelabs/robolectric/res/DrawableResourceLoader.java src/main/java/com/xtremelabs/robolectric/res/IntegerResourceLoader.java src/main/java/com/xtremelabs/robolectric/res/ResourceLoader.java src/main/java/com/xtremelabs/robolectric/res/RobolectricPackageManager.java src/main/java/com/xtremelabs/robolectric/res/ViewLoader.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowActivity.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowAlertDialog.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowApplication.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowBitmapDrawable.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowBitmapFactory.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowBluetoothAdapter.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowBundle.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowCanvas.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowCheckedTextView.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowContentResolver.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowContext.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowContextWrapper.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowDialog.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowDialogFragment.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowEditText.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowFragment.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowFragmentActivity.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowFrameLayout.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowHtml.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowImageView.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowIntent.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowLinearLayout.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowListActivity.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowLocation.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowLocationManager.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowRect.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowResources.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowSQLiteCloseable.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowSensorManager.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowSettings.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowTextUtils.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowTextView.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowTypedArray.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowView.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowViewAnimator.java src/main/java/com/xtremelabs/robolectric/shadows/ShadowViewGroup.java src/main/java/com/xtremelabs/robolectric/tester/android/util/TestAttributeSet.java src/main/java/com/xtremelabs/robolectric/tester/android/view/TestMenuItem.java src/main/java/com/xtremelabs/robolectric/tester/org/apache/http/FakeHttpLayer.java src/test/java/android/webkit/TestWebSettingsTest.java src/test/java/com/xtremelabs/robolectric/R.java src/test/java/com/xtremelabs/robolectric/RobolectricConfigTest.java src/test/java/com/xtremelabs/robolectric/res/DrawableResourceLoaderTest.java src/test/java/com/xtremelabs/robolectric/res/IntegerResourceLoaderTest.java src/test/java/com/xtremelabs/robolectric/res/MenuResourceLoaderTest.java src/test/java/com/xtremelabs/robolectric/res/RawResourceLoaderTest.java src/test/java/com/xtremelabs/robolectric/res/ResourceLoaderTest.java src/test/java/com/xtremelabs/robolectric/res/TestAttributeSetTest.java src/test/java/com/xtremelabs/robolectric/res/ViewLoaderTest.java src/test/java/com/xtremelabs/robolectric/shadows/ActivityTest.java src/test/java/com/xtremelabs/robolectric/shadows/BitmapFactoryTest.java src/test/java/com/xtremelabs/robolectric/shadows/BluetoothAdapterTest.java src/test/java/com/xtremelabs/robolectric/shadows/CheckedTextViewTest.java src/test/java/com/xtremelabs/robolectric/shadows/ContextTest.java src/test/java/com/xtremelabs/robolectric/shadows/DefaultRequestDirectorTest.java src/test/java/com/xtremelabs/robolectric/shadows/DialogFragmentTest.java src/test/java/com/xtremelabs/robolectric/shadows/DialogTest.java src/test/java/com/xtremelabs/robolectric/shadows/EditTextTest.java src/test/java/com/xtremelabs/robolectric/shadows/FragmentTest.java src/test/java/com/xtremelabs/robolectric/shadows/FrameLayoutTest.java src/test/java/com/xtremelabs/robolectric/shadows/HtmlTest.java src/test/java/com/xtremelabs/robolectric/shadows/LocationTest.java src/test/java/com/xtremelabs/robolectric/shadows/PreferenceActivityTest.java src/test/java/com/xtremelabs/robolectric/shadows/ResourcesTest.java src/test/java/com/xtremelabs/robolectric/shadows/SettingsTest.java src/test/java/com/xtremelabs/robolectric/shadows/SpannableStringBuilderTest.java src/test/java/com/xtremelabs/robolectric/shadows/TextUtilsTest.java src/test/java/com/xtremelabs/robolectric/shadows/TextViewTest.java src/test/java/com/xtremelabs/robolectric/shadows/TypedArrayTest.java src/test/java/com/xtremelabs/robolectric/shadows/ViewAnimatorTest.java src/test/java/com/xtremelabs/robolectric/shadows/ViewGroupTest.java src/test/java/com/xtremelabs/robolectric/shadows/ViewTest.java src/test/java/com/xtremelabs/robolectric/shadows/testing/OnMethodTestActivity.java src/test/java/com/xtremelabs/robolectric/tester/android/view/TestWindowTest.java src/test/java/com/xtremelabs/robolectric/util/TestUtil.java
Diffstat (limited to 'src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java')
-rw-r--r--src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java b/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java
new file mode 100644
index 000000000..ca71ecf61
--- /dev/null
+++ b/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java
@@ -0,0 +1,20 @@
+package com.xtremelabs.robolectric.util;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+public class ReflectionUtil {
+ public static Object invoke(Object object, String methodName, Class<?>[] argTypes, Object... args) {
+ try {
+ Method onLayout = object.getClass().getDeclaredMethod(methodName, argTypes);
+ onLayout.setAccessible(true);
+ return onLayout.invoke(object, args);
+ } catch (IllegalAccessException e) {
+ throw new RuntimeException(e);
+ } catch (InvocationTargetException e) {
+ throw new RuntimeException(e);
+ } catch (NoSuchMethodException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}