Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c682fc96 authored by Svetoslav Ganov's avatar Svetoslav Ganov
Browse files

Global accessibility action to open recent apps shows the old dialog style.

1. The global action to open recent apps shows the old dialog style rent apps
   panel. Apparently the key code to open recent apps is not opening the new
   UI so the AccessibilityManagerService is calling directly the method on
   the IStatusBarSerivce to do so.

bug:6607664

Change-Id: I94c1963b07947776bf1c2448903b26f3603f9a59
parent 01827ce9
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -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;
@@ -1535,7 +1536,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();
@@ -1728,6 +1729,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);