diff options
| author | 2012-06-04 23:06:42 -0700 | |
|---|---|---|
| committer | 2012-06-04 23:06:42 -0700 | |
| commit | ccf97dc1afc1b0f99ced0b5324e383edd5ee8246 (patch) | |
| tree | 68942ab4a308feeb1b636e9813314bd52690ff5c | |
| parent | 5751f816f06454ea48bc25f56051878e0ce82dc1 (diff) | |
| parent | c682fc965df2518a95d23e39ec51d788100d20ec (diff) | |
Merge "Global accessibility action to open recent apps shows the old dialog style." into jb-dev
| -rw-r--r-- | services/java/com/android/server/accessibility/AccessibilityManagerService.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/services/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/java/com/android/server/accessibility/AccessibilityManagerService.java index 617a7f31e7eb..5c814d2068e4 100644 --- a/services/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -73,6 +73,7 @@ import android.view.accessibility.IAccessibilityManagerClient; import com.android.internal.R; import com.android.internal.content.PackageMonitor; +import com.android.internal.statusbar.IStatusBarService; import com.android.server.wm.WindowManagerService; import org.xmlpull.v1.XmlPullParserException; @@ -1537,7 +1538,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { sendDownAndUpKeyEvents(KeyEvent.KEYCODE_HOME); } return true; case AccessibilityService.GLOBAL_ACTION_RECENTS: { - sendDownAndUpKeyEvents(KeyEvent.KEYCODE_APP_SWITCH); + openRecents(); } return true; case AccessibilityService.GLOBAL_ACTION_NOTIFICATIONS: { expandStatusBar(); @@ -1730,6 +1731,20 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { Binder.restoreCallingIdentity(token); } + private void openRecents() { + final long token = Binder.clearCallingIdentity(); + + IStatusBarService statusBarService = IStatusBarService.Stub.asInterface( + ServiceManager.getService("statusbar")); + try { + statusBarService.toggleRecentApps(); + } catch (RemoteException e) { + Slog.e(LOG_TAG, "Error toggling recent apps."); + } + + Binder.restoreCallingIdentity(token); + } + private IAccessibilityInteractionConnection getConnectionLocked(int windowId) { if (DEBUG) { Slog.i(LOG_TAG, "Trying to get interaction connection to windowId: " + windowId); |