am 815ba2d2: Added accessibility support for the home/all app togle in Launcher2

* commit '815ba2d2eabded5ffee53fba668d63ca9173e6fd':
  Added accessibility support for the home/all app togle in Launcher2
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 83f13aa..1ec326b 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -88,6 +88,7 @@
 import android.view.ViewGroup;
 import android.view.WindowManager;
 import android.view.View.OnLongClickListener;
+import android.view.accessibility.AccessibilityEvent;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.Advanceable;
 import android.widget.EditText;
@@ -416,6 +417,21 @@
         }
     }
 
+    @Override
+    public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
+        super.dispatchPopulateAccessibilityEvent(event);
+
+        // we want to take over text population so it is context dependent
+        event.getText().clear();
+        if (mState == State.ALL_APPS) {
+            event.getText().add(getString(R.string.all_apps_button_label));
+        } else if (mState == State.WORKSPACE) {
+            event.getText().add(getString(R.string.all_apps_home_button_label));
+        }
+
+        return true;
+    }
+
     private void checkForLocaleChange() {
         if (sLocaleConfiguration == null) {
             new AsyncTask<Void, Void, LocaleConfiguration>() {
@@ -2878,8 +2894,10 @@
 
         // Change the state *after* we've called all the transition code
         mState = State.ALL_APPS;
-    }
 
+        // send an accessibility event to announce the context change
+        getWindow().getDecorView().sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED);
+    }
 
     void showWorkspace(boolean animated) {
         showWorkspace(animated, null);
@@ -2901,6 +2919,9 @@
 
         // Change the state *after* we've called all the transition code
         mState = State.WORKSPACE;
+
+        // send an accessibility event to announce the context change
+        getWindow().getDecorView().sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED);
     }
 
     void enterSpringLoadedDragMode(CellLayout layout) {