Add check for null manger for a11y recents action

am: 2585033100

Change-Id: I9b5977ad876048e5c527ff1f8ef6b989283a0e73
This commit is contained in:
Phil Weaver
2016-11-11 23:17:41 +00:00
committed by android-build-merger
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; 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; public static final int GLOBAL_ACTION_RECENTS = 3;

View File

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