Merge "Revert "Update accessibility compat classes for N."" into nyc-dev
diff --git a/v4/api24/android/support/v4/view/accessibility/AccessibilityNodeInfoCompatApi24.java b/v4/api24/android/support/v4/view/accessibility/AccessibilityNodeInfoCompatApi24.java
deleted file mode 100644
index e9fcafb..0000000
--- a/v4/api24/android/support/v4/view/accessibility/AccessibilityNodeInfoCompatApi24.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v4.view.accessibility;
-
-import android.view.accessibility.AccessibilityNodeInfo;
-
-/**
- * Api24-specific AccessibilityNodeInfo API implementation.
- */
-public class AccessibilityNodeInfoCompatApi24 {
-    public static int getDrawingOrder(Object info) {
-        return ((AccessibilityNodeInfo) info).getDrawingOrder();
-    }
-
-    public static void setDrawingOrder(Object info, int drawingOrderInParent) {
-        ((AccessibilityNodeInfo) info).setDrawingOrder(drawingOrderInParent);
-    }
-
-    public static boolean isImportantForAccessibility(Object info) {
-        return ((AccessibilityNodeInfo) info).isImportantForAccessibility();
-    }
-
-    public static void setImportantForAccessibility(Object info,
-            boolean importantForAccessibility) {
-        ((AccessibilityNodeInfo) info).setImportantForAccessibility(importantForAccessibility);
-    }
-}
diff --git a/v4/api24/android/support/v4/view/accessibility/AccessibilityWindowInfoCompatApi24.java b/v4/api24/android/support/v4/view/accessibility/AccessibilityWindowInfoCompatApi24.java
deleted file mode 100644
index 635878f..0000000
--- a/v4/api24/android/support/v4/view/accessibility/AccessibilityWindowInfoCompatApi24.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v4.view.accessibility;
-
-import android.view.accessibility.AccessibilityWindowInfo;
-
-/**
- * Api24-specific AccessibilityWindowInfo API implementation.
- */
-public class AccessibilityWindowInfoCompatApi24 {
-    public static CharSequence getTitle(Object info) {
-        return ((AccessibilityWindowInfo) info).getTitle();
-    }
-
-    public static Object getAnchor(Object info) {
-        return ((AccessibilityWindowInfo) info).getAnchor();
-    }
-}
diff --git a/v4/java/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.java b/v4/java/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.java
index 5bd94e4..b894ad8 100644
--- a/v4/java/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.java
+++ b/v4/java/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.java
@@ -609,10 +609,6 @@
         public void setDismissable(Object info, boolean dismissable);
         public boolean isEditable(Object info);
         public void setEditable(Object info, boolean editable);
-        public int getDrawingOrder(Object info);
-        public void setDrawingOrder(Object info, int drawingOrderInParent);
-        public boolean isImportantForAccessibility(Object info);
-        public void setImportantForAccessibility(Object info, boolean importantForAccessibility);
         public boolean isMultiLine(Object info);
         public void setMultiLine(Object info, boolean multiLine);
         public boolean refresh(Object info);
@@ -1231,24 +1227,6 @@
         @Override
         public void setRoleDescription(Object info, CharSequence roleDescription) {
         }
-
-        @Override
-        public int getDrawingOrder(Object info) {
-            return 0;
-        }
-
-        @Override
-        public void setDrawingOrder(Object info, int drawingOrderInParent) {
-        }
-
-        @Override
-        public boolean isImportantForAccessibility(Object info) {
-            return true;
-        }
-
-        @Override
-        public void setImportantForAccessibility(Object info, boolean importantForAccessibility) {
-        }
     }
 
     static class AccessibilityNodeInfoIcsImpl extends AccessibilityNodeInfoStubImpl {
@@ -1917,34 +1895,8 @@
         }
     }
 
-    static class AccessibilityNodeInfoApi24Impl extends AccessibilityNodeInfoApi22Impl {
-        @Override
-        public int getDrawingOrder(Object info) {
-            return AccessibilityNodeInfoCompatApi24.getDrawingOrder(info);
-        }
-
-        @Override
-        public void setDrawingOrder(Object info, int drawingOrderInParent) {
-            AccessibilityNodeInfoCompatApi24.setDrawingOrder(info, drawingOrderInParent);
-        }
-
-        @Override
-        public boolean isImportantForAccessibility(Object info) {
-            return AccessibilityNodeInfoCompatApi24.isImportantForAccessibility(info);
-        }
-
-        @Override
-        public void setImportantForAccessibility(Object info, boolean importantForAccessibility) {
-            AccessibilityNodeInfoCompatApi24.setImportantForAccessibility(
-                    info, importantForAccessibility);
-        }
-
-    }
-
     static {
-        if (Build.VERSION.SDK_INT >= 24) {
-            IMPL = new AccessibilityNodeInfoApi24Impl();
-        } else if (Build.VERSION.SDK_INT >= 22) {
+        if (Build.VERSION.SDK_INT >= 22) {
             IMPL = new AccessibilityNodeInfoApi22Impl();
         } else if (Build.VERSION.SDK_INT >= 21) {
             IMPL = new AccessibilityNodeInfoApi21Impl();
@@ -3073,33 +3025,6 @@
     }
 
     /**
-     * Returns whether the node originates from a view considered important for accessibility.
-     *
-     * @return {@code true} if the node originates from a view considered important for
-     *         accessibility, {@code false} otherwise
-     *
-     * @see View#isImportantForAccessibility()
-     */
-    public boolean isImportantForAccessibility() {
-        return IMPL.isImportantForAccessibility(mInfo);
-    }
-
-    /**
-     * Sets whether the node is considered important for accessibility.
-     * <p>
-     *   <strong>Note:</strong> Cannot be called from an
-     *   {@link android.accessibilityservice.AccessibilityService}.
-     *   This class is made immutable before being delivered to an AccessibilityService.
-     * </p>
-     *
-     * @param important {@code true} if the node is considered important for accessibility,
-     *                  {@code false} otherwise
-     */
-    public void setImportantForAccessibility(boolean important) {
-        IMPL.setImportantForAccessibility(mInfo, important);
-    }
-
-    /**
      * Gets the package this node comes from.
      *
      * @return The package name.
@@ -3276,36 +3201,6 @@
     }
 
     /**
-     * Get the drawing order of the view corresponding it this node.
-     * <p>
-     * Drawing order is determined only within the node's parent, so this index is only relative
-     * to its siblings.
-     * <p>
-     * In some cases, the drawing order is essentially simultaneous, so it is possible for two
-     * siblings to return the same value. It is also possible that values will be skipped.
-     *
-     * @return The drawing position of the view corresponding to this node relative to its siblings.
-     */
-    public int getDrawingOrder() {
-        return IMPL.getDrawingOrder(mInfo);
-    }
-
-    /**
-     * Set the drawing order of the view corresponding it this node.
-     *
-     * <p>
-     *   <strong>Note:</strong> Cannot be called from an
-     *   {@link android.accessibilityservice.AccessibilityService}.
-     *   This class is made immutable before being delivered to an AccessibilityService.
-     * </p>
-     * @param drawingOrderInParent
-     * @throws IllegalStateException If called from an AccessibilityService.
-     */
-    public void setDrawingOrder(int drawingOrderInParent) {
-        IMPL.setDrawingOrder(mInfo, drawingOrderInParent);
-    }
-
-    /**
      * Gets the collection info if the node is a collection. A collection
      * child is always a collection item.
      *
diff --git a/v4/java/android/support/v4/view/accessibility/AccessibilityWindowInfoCompat.java b/v4/java/android/support/v4/view/accessibility/AccessibilityWindowInfoCompat.java
index 738924c..3197bb1 100644
--- a/v4/java/android/support/v4/view/accessibility/AccessibilityWindowInfoCompat.java
+++ b/v4/java/android/support/v4/view/accessibility/AccessibilityWindowInfoCompat.java
@@ -39,12 +39,10 @@
         public boolean isAccessibilityFocused(Object info);
         public int getChildCount(Object info);
         public Object getChild(Object info, int index);
-        public CharSequence getTitle(Object info);
-        public Object getAnchor(Object info);
         public void recycle(Object info);
     }
 
-    private static class AccessibilityWindowInfoStubImpl implements AccessibilityWindowInfoImpl {
+    private static class AccessibilityWindowInfoStubImpl implements  AccessibilityWindowInfoImpl {
 
         @Override
         public Object obtain() {
@@ -113,16 +111,6 @@
         @Override
         public void recycle(Object info) {
         }
-
-        @Override
-        public CharSequence getTitle(Object info) {
-            return null;
-        }
-
-        @Override
-        public Object getAnchor(Object info) {
-            return null;
-        }
     }
 
     private static class AccessibilityWindowInfoApi21Impl extends AccessibilityWindowInfoStubImpl {
@@ -197,22 +185,8 @@
         }
     }
 
-    private static class AccessibilityWindowInfoApi24Impl extends AccessibilityWindowInfoApi21Impl {
-        @Override
-        public CharSequence getTitle(Object info) {
-            return AccessibilityWindowInfoCompatApi24.getTitle(info);
-        }
-
-        @Override
-        public Object getAnchor(Object info) {
-            return AccessibilityWindowInfoCompatApi24.getAnchor(info);
-        }
-    }
-
     static {
-        if (Build.VERSION.SDK_INT >= 24) {
-            IMPL = new AccessibilityWindowInfoApi24Impl();
-        } else  if (Build.VERSION.SDK_INT >= 21) {
+        if (Build.VERSION.SDK_INT >= 21) {
             IMPL = new AccessibilityWindowInfoApi21Impl();
         } else {
             IMPL = new AccessibilityWindowInfoStubImpl();
@@ -381,25 +355,6 @@
     }
 
     /**
-     * Gets the title of the window.
-     *
-     * @return The title of the window, or the application label for the window if no title was
-     * explicitly set, or {@code null} if neither is available.
-     */
-    public CharSequence getTitle() {
-        return IMPL.getTitle(mInfo);
-    }
-
-    /**
-     * Gets the node that anchors this window to another.
-     *
-     * @return The anchor node, or {@code null} if none exists.
-     */
-    public AccessibilityNodeInfoCompat getAnchor() {
-        return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getAnchor(mInfo));
-    }
-
-    /**
      * Returns a cached instance if such is available or a new one is
      * created.
      *