Add check for null manger for a11y recents action

Bug: 31986988

Test: Ran A11y cts
Change-Id: Ia6a1e1b921d8b0008edbcf1f1a8d1d3d0eb969c6
(cherry picked from commit 3cdd6c7654)
This commit is contained in:
Phil Weaver
2016-11-03 15:28:03 -07:00
committed by Rati Agrawal
parent eed332bada
commit 2585033100
2 changed files with 16 additions and 10 deletions

View File

@@ -334,7 +334,8 @@ public abstract class AccessibilityService extends Service {
public static final int GLOBAL_ACTION_HOME = 2;
/**
* Action to toggle showing the overview of recent apps
* Action to toggle showing the overview of recent apps. Will fail on platforms that don't
* show recent apps.
*/
public static final int GLOBAL_ACTION_RECENTS = 3;

View File

@@ -2891,8 +2891,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub {
sendDownAndUpKeyEvents(KeyEvent.KEYCODE_HOME);
} return true;
case AccessibilityService.GLOBAL_ACTION_RECENTS: {
openRecents();
} return true;
return openRecents();
}
case AccessibilityService.GLOBAL_ACTION_NOTIFICATIONS: {
expandNotifications();
} return true;
@@ -3385,14 +3385,19 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub {
Binder.restoreCallingIdentity(token);
}
private void openRecents() {
private boolean openRecents() {
final long token = Binder.clearCallingIdentity();
StatusBarManagerInternal statusBarService = LocalServices.getService(
StatusBarManagerInternal.class);
statusBarService.toggleRecentApps();
Binder.restoreCallingIdentity(token);
try {
StatusBarManagerInternal statusBarService = LocalServices.getService(
StatusBarManagerInternal.class);
if (statusBarService == null) {
return false;
}
statusBarService.toggleRecentApps();
} finally {
Binder.restoreCallingIdentity(token);
}
return true;
}
private void showGlobalActions() {