From ed05f09aa1f83fc7ed02c8c40fa473a7f1a3a1e0 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Thu, 24 Apr 2014 10:13:05 -0400 Subject: [PATCH] Fix accessibility announce on apps page Stops the workspace from announcing incorrectly while the apps page is open, also makes the apps announce which page on opening. Bug: 13006306 Change-Id: I723011fc55c24b66604a24b16c17bac4f5653f84 --- src/com/android/launcher3/AppsCustomizeTabHost.java | 9 +++++++++ src/com/android/launcher3/Workspace.java | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/src/com/android/launcher3/AppsCustomizeTabHost.java b/src/com/android/launcher3/AppsCustomizeTabHost.java index bb7f045cec..c6455c2fe8 100644 --- a/src/com/android/launcher3/AppsCustomizeTabHost.java +++ b/src/com/android/launcher3/AppsCustomizeTabHost.java @@ -29,6 +29,7 @@ import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; +import android.view.accessibility.AccessibilityManager; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.TabHost; @@ -430,6 +431,14 @@ public class AppsCustomizeTabHost extends TabHost implements LauncherTransitiona // prevent slowing down the animation) mAppsCustomizePane.loadAssociatedPages(mAppsCustomizePane.getCurrentPage()); + // Opening apps, need to announce what page we are on. + AccessibilityManager am = (AccessibilityManager) + getContext().getSystemService(Context.ACCESSIBILITY_SERVICE); + if (am.isEnabled()) { + // Notify the user when the page changes + announceForAccessibility(mAppsCustomizePane.getCurrentPageDescription()); + } + // Going from Workspace -> All Apps // NOTE: We should do this at the end since we check visibility state in some of the // cling initialization/dismiss code above. diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index c984ad65df..c2d5c1e83d 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -1466,6 +1466,14 @@ public class Workspace extends SmoothPagedView mWallpaperOffset.syncWithScroll(); } + @Override + public void announceForAccessibility(CharSequence text) { + // Don't announce if apps is on top of us. + if (!mLauncher.isAllAppsVisible()) { + super.announceForAccessibility(text); + } + } + void showOutlines() { if (!isSmall() && !mIsSwitchingState) { if (mChildrenOutlineFadeOutAnimation != null) mChildrenOutlineFadeOutAnimation.cancel();