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

Commit a8493884 authored by Tracy Zhou's avatar Tracy Zhou Committed by Android (Google) Code Review
Browse files

Merge "Map META (upon release) to launching all apps"

parents 251c7563 96d28aae
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -368,6 +368,11 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
            mService.scheduleStartInput(remoteAccessibilityInputConnection, editorInfo, restarting);
        }

        @Override
        public void performSystemAction(int actionId) {
            mService.getSystemActionPerformer().performSystemAction(actionId);
        }

        @Override
        public boolean isTouchExplorationEnabled(@UserIdInt int userId) {
            synchronized (mService.mLock) {
+7 −0
Original line number Diff line number Diff line
@@ -50,6 +50,9 @@ public abstract class AccessibilityManagerInternal {
            IRemoteAccessibilityInputConnection remoteAccessibilityInputConnection,
            EditorInfo editorInfo, boolean restarting);

    /** Trigger a system action with the provided {@code actionId}. */
    public abstract void performSystemAction(int actionId);

    /**
     * Queries whether touch-exploration mode is enabled or not for the specified user.
     *
@@ -86,6 +89,10 @@ public abstract class AccessibilityManagerInternal {
        public boolean isTouchExplorationEnabled(int userId) {
            return false;
        }

        @Override
        public void performSystemAction(int actionId) {
        }
    };

    /**
+18 −1
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@ import static com.android.server.wm.WindowManagerPolicyProto.ROTATION_MODE;
import static com.android.server.wm.WindowManagerPolicyProto.SCREEN_ON_FULLY;
import static com.android.server.wm.WindowManagerPolicyProto.WINDOW_MANAGER_DRAW_COMPLETE;

import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.annotation.Nullable;
import android.app.ActivityManager;
@@ -200,6 +201,7 @@ import com.android.internal.policy.PhoneWindow;
import com.android.internal.policy.TransitionAnimation;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.util.ArrayUtils;
import com.android.server.AccessibilityManagerInternal;
import com.android.server.ExtconStateObserver;
import com.android.server.ExtconUEventObserver;
import com.android.server.GestureLauncherService;
@@ -404,6 +406,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    Vibrator mVibrator; // Vibrator for giving feedback of orientation changes
    SearchManager mSearchManager;
    AccessibilityManager mAccessibilityManager;
    AccessibilityManagerInternal mAccessibilityManagerInternal;
    BurnInProtectionHelper mBurnInProtectionHelper;
    private DisplayFoldController mDisplayFoldController;
    AppOpsManager mAppOpsManager;
@@ -851,6 +854,15 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        }
    }

    AccessibilityManagerInternal getAccessibilityManagerInternal() {
        synchronized (mServiceAcquireLock) {
            if (mAccessibilityManagerInternal == null) {
                mAccessibilityManagerInternal =
                        LocalServices.getService(AccessibilityManagerInternal.class);
            }
            return mAccessibilityManagerInternal;
        }
    }

    // returns true if the key was handled and should not be passed to the user
    private boolean backKeyPress() {
@@ -1710,6 +1722,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        startActivityAsUser(intent, UserHandle.CURRENT);
    }

    private void launchAllAppsViaA11y() {
        getAccessibilityManagerInternal().performSystemAction(
                AccessibilityService.GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS);
    }

    private void toggleNotificationPanel() {
        IStatusBarService statusBarService = getStatusBarService();
        if (isUserSetupComplete() && statusBarService != null) {
@@ -3139,7 +3156,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                        mPendingCapsLockToggle = false;
                    } else if (mPendingMetaAction) {
                        if (!canceled) {
                            // TODO: launch all apps here.
                            launchAllAppsViaA11y();
                        }
                        mPendingMetaAction = false;
                    }