Merge "Fixing the other half of the accessibility CTS tests." into jb-dev
diff --git a/tests/accessibility/AndroidManifest.xml b/tests/accessibility/AndroidManifest.xml
index 9deed14..dde1de8 100644
--- a/tests/accessibility/AndroidManifest.xml
+++ b/tests/accessibility/AndroidManifest.xml
@@ -22,7 +22,8 @@
   <application>
 
     <service android:name=".SpeakingAccessibilityService"
-             android:label="@string/title_speaking_accessibility_service">
+             android:label="@string/title_speaking_accessibility_service"
+             android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
       <intent-filter>
         <action android:name="android.accessibilityservice.AccessibilityService"/>
       </intent-filter>
@@ -31,7 +32,8 @@
     </service>
 
     <service android:name=".VibratingAccessibilityService"
-             android:label="@string/title_vibrating_accessibility_service">
+             android:label="@string/title_vibrating_accessibility_service"
+             android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
       <intent-filter>
         <action android:name="android.accessibilityservice.AccessibilityService"/>
       </intent-filter>
diff --git a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityEventTest.java b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityEventTest.java
index 24cdea3..9b46a9b 100644
--- a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityEventTest.java
+++ b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityEventTest.java
@@ -31,7 +31,7 @@
 public class AccessibilityEventTest extends TestCase {
 
     /** The number of properties of the {@link AccessibilityEvent} class. */
-    private static final int NON_STATIC_FIELD_COUNT = 29;
+    private static final int NON_STATIC_FIELD_COUNT = 30;
 
     /**
      * Test that no new fields have been added without updating the
@@ -40,7 +40,8 @@
     @SmallTest
     public void testNoNewFieldsAddedWithoutUpdadingMarshallTests() {
         // no new fields, so we are testing marshaling of all such
-        AccessibilityRecordTest.assertNoNewNonStaticFieldsAdded(NON_STATIC_FIELD_COUNT);
+        AccessibilityRecordTest.assertNoNewNonStaticFieldsAdded(AccessibilityEvent.class,
+                NON_STATIC_FIELD_COUNT);
     }
 
     /**
@@ -186,6 +187,7 @@
         sentEvent.setScrollY(1);
         sentEvent.setToIndex(1);
         sentEvent.setScrollable(true);
+        sentEvent.setAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS);
         sentEvent.setMovementGranularity(AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
 
         AccessibilityRecord record = AccessibilityRecord.obtain();
@@ -244,6 +246,8 @@
                 receivedEvent.isScrollable());
         assertSame("granularity has incorect value", expectedEvent.getMovementGranularity(),
                 receivedEvent.getMovementGranularity());
+        assertSame("action has incorect value", expectedEvent.getAction(),
+                receivedEvent.getAction());
 
         assertSame("parcelableData has incorect value",
                 ((Message) expectedEvent.getParcelableData()).what,
diff --git a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityManagerTest.java b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityManagerTest.java
index 94adbac..50740e8 100644
--- a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityManagerTest.java
+++ b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityManagerTest.java
@@ -60,7 +60,7 @@
     }
 
     public void testIsTouchExplorationEnabled() throws Exception {
-        assertFalse(mAccessibilityManager.isTouchExplorationEnabled());
+        assertTrue(mAccessibilityManager.isTouchExplorationEnabled());
     }
 
     public void testGetInstalledAccessibilityServicesList() throws Exception {
diff --git a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java
index 119aea1..73883e2 100644
--- a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java
+++ b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java
@@ -24,21 +24,19 @@
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-
 /**
  * Class for testing {@link AccessibilityNodeInfo}.
  */
 public class AccessibilityNodeInfoTest extends AndroidTestCase {
 
     /** The number of properties of the {@link AccessibilityNodeInfo} class. */
-    private static final int NON_STATIC_FIELD_COUNT = 30;
+    private static final int NON_STATIC_FIELD_COUNT = 17;
 
     @SmallTest
     public void testMarshaling() throws Exception {
         // no new fields, so we are testing marshaling of all such
-        assertNoNewNonStaticFieldsAdded();
+        AccessibilityRecordTest.assertNoNewNonStaticFieldsAdded(AccessibilityNodeInfo.class,
+                NON_STATIC_FIELD_COUNT);
 
         // fully populate the node info to marshal
         AccessibilityNodeInfo sentInfo = AccessibilityNodeInfo.obtain(new View(getContext()));
@@ -96,25 +94,6 @@
     }
 
     /**
-     * Asserts that no new fields have been added, so we are testing marshaling
-     * of all such.
-     */
-    private void assertNoNewNonStaticFieldsAdded() {
-        int nonStaticFieldCount = 0;
-        Class<?> clazz = AccessibilityEvent.class;
-        while (clazz != null) {
-            for (Field field : clazz.getDeclaredFields()) {
-                if ((field.getModifiers() & Modifier.STATIC) == 0) {
-                    nonStaticFieldCount++;
-                }
-            }
-            clazz = clazz.getSuperclass();
-        }
-        String message = "New fields have been added, so add code to test marshaling them.";
-        assertEquals(message, NON_STATIC_FIELD_COUNT, nonStaticFieldCount);
-    }
-
-    /**
      * Fully populates the {@link AccessibilityNodeInfo} to marshal.
      *
      * @param info The node info to populate.
diff --git a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityRecordTest.java b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityRecordTest.java
index 27abf4c..3aaf54e 100644
--- a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityRecordTest.java
+++ b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityRecordTest.java
@@ -35,7 +35,7 @@
 public class AccessibilityRecordTest extends AndroidTestCase {
 
     /** The number of properties of the {@link AccessibilityEvent} class. */
-    private static final int NON_STATIC_FIELD_COUNT = 28;
+    private static final int NON_STATIC_FIELD_COUNT = 22;
 
     /**
      * Test that no new fields have been added without updating the
@@ -45,7 +45,7 @@
      */
     @SmallTest
     public void testNoNewFieldsAddedWithoutUpdadingMarshallTests() {
-        assertNoNewNonStaticFieldsAdded(NON_STATIC_FIELD_COUNT);
+        assertNoNewNonStaticFieldsAdded(AccessibilityRecord.class, NON_STATIC_FIELD_COUNT);
     }
 
     /**
@@ -201,10 +201,9 @@
      * Asserts that no new fields have been added, so we are testing marshaling
      * of all such.
      */
-    static void assertNoNewNonStaticFieldsAdded(int fieldCount) {
+    static void assertNoNewNonStaticFieldsAdded(Class<?> clazz, int expectedCount) {
         int nonStaticFieldCount = 0;
 
-        Class<?> clazz = AccessibilityEvent.class;
         while (clazz != null) {
             for (Field field : clazz.getDeclaredFields()) {
                 if ((field.getModifiers() & Modifier.STATIC) == 0) {
@@ -215,6 +214,6 @@
         }
 
         String message = "New fields have been added, so add code to test marshaling them.";
-        assertEquals(message, fieldCount, nonStaticFieldCount);
+        assertEquals(message, expectedCount, nonStaticFieldCount);
     }
 }