Disable signing in SignHereActivity while authorization is in progress
diff --git a/src/main/java/com/xtremelabs/robolectric/Robolectric.java b/src/main/java/com/xtremelabs/robolectric/Robolectric.java
index 03451fa..2c601b9 100644
--- a/src/main/java/com/xtremelabs/robolectric/Robolectric.java
+++ b/src/main/java/com/xtremelabs/robolectric/Robolectric.java
@@ -251,6 +251,7 @@
                 ShadowResources.class,
                 ShadowResources.ShadowTheme.class,
                 ShadowScanResult.class,
+                ShadowScrollView.class,
                 ShadowSeekBar.class,
                 ShadowSensorManager.class,
                 ShadowService.class,
@@ -704,6 +705,10 @@
         return (ShadowScanResult) shadowOf_(instance);
     }
 
+    public static ShadowScrollView shadowOf(ScrollView instance) {
+        return (ShadowScrollView) shadowOf_(instance);
+    }
+
     public static ShadowSeekBar shadowOf(SeekBar instance) {
         return (ShadowSeekBar) shadowOf_(instance);
     }
diff --git a/src/main/java/com/xtremelabs/robolectric/ShadowScrollView.java b/src/main/java/com/xtremelabs/robolectric/ShadowScrollView.java
new file mode 100644
index 0000000..3c69d0e
--- /dev/null
+++ b/src/main/java/com/xtremelabs/robolectric/ShadowScrollView.java
@@ -0,0 +1,14 @@
+package com.xtremelabs.robolectric;
+
+import android.widget.ScrollView;
+import com.xtremelabs.robolectric.internal.Implementation;
+import com.xtremelabs.robolectric.internal.Implements;
+import com.xtremelabs.robolectric.shadows.ShadowFrameLayout;
+
+@Implements(ScrollView.class)
+public class ShadowScrollView extends ShadowFrameLayout {
+    @Implementation
+    public void smoothScrollTo(int x, int y) {
+        scrollTo(x, y);
+    }
+}
diff --git a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowView.java b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowView.java
index 6c2bcc2..6d30a60 100644
--- a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowView.java
+++ b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowView.java
@@ -833,4 +833,14 @@
     public void scrollTo(int x, int y) {
         this.scrollToCoordinates = new Point(x, y);
     }
+    
+    @Implementation
+    public int getScrollX() {
+        return scrollToCoordinates != null ? scrollToCoordinates.x : 0;
+    }
+
+    @Implementation
+    public int getScrollY() {
+        return scrollToCoordinates != null ? scrollToCoordinates.y : 0;
+    }
 }
diff --git a/src/test/java/com/xtremelabs/robolectric/shadows/ScrollViewTest.java b/src/test/java/com/xtremelabs/robolectric/shadows/ScrollViewTest.java
new file mode 100644
index 0000000..99fe1e1
--- /dev/null
+++ b/src/test/java/com/xtremelabs/robolectric/shadows/ScrollViewTest.java
@@ -0,0 +1,20 @@
+package com.xtremelabs.robolectric.shadows;
+
+import android.widget.ScrollView;
+import com.xtremelabs.robolectric.WithTestDefaultsRunner;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static junit.framework.Assert.assertEquals;
+
+@RunWith(WithTestDefaultsRunner.class)
+public class ScrollViewTest {
+    @Test
+    public void shouldSmoothScrollTo() throws Exception {
+        ScrollView scrollView = new ScrollView(null);
+        scrollView.smoothScrollTo(7, 6);
+
+        assertEquals(7, scrollView.getScrollX());
+        assertEquals(6, scrollView.getScrollY());
+    }
+}
diff --git a/src/test/java/com/xtremelabs/robolectric/shadows/ViewTest.java b/src/test/java/com/xtremelabs/robolectric/shadows/ViewTest.java
index 2ee9f88..781898c 100644
--- a/src/test/java/com/xtremelabs/robolectric/shadows/ViewTest.java
+++ b/src/test/java/com/xtremelabs/robolectric/shadows/ViewTest.java
@@ -10,25 +10,15 @@
 import com.xtremelabs.robolectric.R;
 import com.xtremelabs.robolectric.Robolectric;
 import com.xtremelabs.robolectric.WithTestDefaultsRunner;
-import com.xtremelabs.robolectric.util.TestAnimationListener;
-import com.xtremelabs.robolectric.util.TestOnClickListener;
-import com.xtremelabs.robolectric.util.TestOnLongClickListener;
-import com.xtremelabs.robolectric.util.TestRunnable;
-import com.xtremelabs.robolectric.util.Transcript;
+import com.xtremelabs.robolectric.util.*;
 import org.junit.Before;
 import org.junit.Test;
-import org.junit.Ignore;
 import org.junit.runner.RunWith;
 
 import static com.xtremelabs.robolectric.Robolectric.shadowOf;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.hamcrest.CoreMatchers.sameInstance;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static junit.framework.Assert.assertEquals;
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.*;
 
 @RunWith(WithTestDefaultsRunner.class)
 public class ViewTest {
@@ -260,6 +250,20 @@
         assertThat(shadowOf(view).scrollToCoordinates, equalTo(new Point(1, 2)));
     }
 
+    @Test
+    public void shouldScrollTo() throws Exception {
+        view.scrollTo(7, 6);
+
+        assertEquals(7, view.getScrollX());
+        assertEquals(6, view.getScrollY());
+    }
+
+    @Test
+    public void shouldGetScrollXAndY() {
+        assertEquals(0, view.getScrollX());
+        assertEquals(0, view.getScrollY());
+    }
+
     private class TestAnimation extends Animation {
     }
 }