Merge changes from topic "am-675989db-76a3-4555-b81c-d07e29807c90" into ub-launcher3-master
* changes:
[automerger] Don't prevent animations in power save mode am: 8155fa2aa5
Don't prevent animations in power save mode
diff --git a/quickstep/res/layout/overview_clear_all_button.xml b/quickstep/res/layout/overview_clear_all_button.xml
index 9c4b618..25615e0 100644
--- a/quickstep/res/layout/overview_clear_all_button.xml
+++ b/quickstep/res/layout/overview_clear_all_button.xml
@@ -11,4 +11,5 @@
android:textColor="?attr/workspaceTextColor"
android:visibility="invisible"
android:textSize="14sp"
+ android:importantForAccessibility="no"
/>
\ No newline at end of file
diff --git a/quickstep/src/com/android/quickstep/views/ClearAllButton.java b/quickstep/src/com/android/quickstep/views/ClearAllButton.java
index f3a0e4f..d5c43a0 100644
--- a/quickstep/src/com/android/quickstep/views/ClearAllButton.java
+++ b/quickstep/src/com/android/quickstep/views/ClearAllButton.java
@@ -22,7 +22,6 @@
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.Button;
public class ClearAllButton extends Button {
@@ -37,14 +36,6 @@
}
@Override
- public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
- super.onInitializeAccessibilityNodeInfo(info);
- // Should be visible to accessibility even when completely covered by the task.
- // Otherwise, we won't be able to scroll to it.
- info.setVisibleToUser(true);
- }
-
- @Override
public boolean performAccessibilityAction(int action, Bundle arguments) {
final boolean res = super.performAccessibilityAction(action, arguments);
if (action == ACTION_ACCESSIBILITY_FOCUS) {
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index aeff476..f038eff 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -1303,12 +1303,26 @@
private void onChildViewsChanged() {
final int childCount = getChildCount();
- mClearAllButton.setAccessibilityTraversalAfter(
- childCount == 0 ? NO_ID : getChildAt(childCount - 1).getId());
mClearAllButton.setVisibility(childCount == 0 ? INVISIBLE : VISIBLE);
}
public void revealClearAllButton() {
scrollTo(mIsRtl ? 0 : computeMaxScrollX(), 0);
}
+
+ @Override
+ public void addChildrenForAccessibility(ArrayList<View> outChildren) {
+ if (FLIP_RECENTS) {
+ for (int i = getChildCount() - 1; i >= 0; --i) {
+ outChildren.add(getChildAt(i));
+ }
+ } else {
+ super.addChildrenForAccessibility(outChildren);
+ }
+ }
+
+ @Override
+ protected boolean isPageOrderFlipped() {
+ return FLIP_RECENTS;
+ }
}
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index a98867d..efbd004 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -1495,12 +1495,20 @@
return Math.abs(delta) > 0;
}
- public void scrollLeft() {
- if (getNextPage() > 0) snapToPage(getNextPage() - 1);
+ public boolean scrollLeft() {
+ if (getNextPage() > 0) {
+ snapToPage(getNextPage() - 1);
+ return true;
+ }
+ return false;
}
- public void scrollRight() {
- if (getNextPage() < getChildCount() -1) snapToPage(getNextPage() + 1);
+ public boolean scrollRight() {
+ if (getNextPage() < getChildCount() - 1) {
+ snapToPage(getNextPage() + 1);
+ return true;
+ }
+ return false;
}
@Override
@@ -1510,17 +1518,24 @@
return ScrollView.class.getName();
}
+ protected boolean isPageOrderFlipped() {
+ return false;
+ }
+
/* Accessibility */
@SuppressWarnings("deprecation")
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
+ final boolean pagesFlipped = isPageOrderFlipped();
info.setScrollable(getPageCount() > 1);
if (getCurrentPage() < getPageCount() - 1) {
- info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
+ info.addAction(pagesFlipped ? AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD
+ : AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
}
if (getCurrentPage() > 0) {
- info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD);
+ info.addAction(pagesFlipped ? AccessibilityNodeInfo.ACTION_SCROLL_FORWARD
+ : AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD);
}
// Accessibility-wise, PagedView doesn't support long click, so disabling it.
@@ -1549,19 +1564,19 @@
if (super.performAccessibilityAction(action, arguments)) {
return true;
}
+ final boolean pagesFlipped = isPageOrderFlipped();
switch (action) {
case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: {
- if (getCurrentPage() < getPageCount() - 1) {
- scrollRight();
+ if (pagesFlipped ? scrollLeft() : scrollRight()) {
return true;
}
} break;
case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: {
- if (getCurrentPage() > 0) {
- scrollLeft();
+ if (pagesFlipped ? scrollRight() : scrollLeft()) {
return true;
}
- } break;
+ }
+ break;
}
return false;
}
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 2df34d5..6631f77 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -2961,25 +2961,29 @@
}
@Override
- public void scrollLeft() {
+ public boolean scrollLeft() {
+ boolean result = false;
if (!workspaceInModalState() && !mIsSwitchingState) {
- super.scrollLeft();
+ result = super.scrollLeft();
}
Folder openFolder = Folder.getOpen(mLauncher);
if (openFolder != null) {
openFolder.completeDragExit();
}
+ return result;
}
@Override
- public void scrollRight() {
+ public boolean scrollRight() {
+ boolean result = false;
if (!workspaceInModalState() && !mIsSwitchingState) {
- super.scrollRight();
+ result = super.scrollRight();
}
Folder openFolder = Folder.getOpen(mLauncher);
if (openFolder != null) {
openFolder.completeDragExit();
}
+ return result;
}
/**