Merge "Map META (upon release) to launching all apps"
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user