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

Commit 17234aa7 authored by Peter_Liang's avatar Peter_Liang Committed by Menghan Li
Browse files

Fix services don't be triggered when clicking selection item from shortcut key.

Root cause: should call corresponding function
Goal: using performAccessibilityShortcut function from AccessibilityManager

Bug: 148779579
Test: manual test
Change-Id: Ibc3fcb77e1aef54683328d1e7a71afabccffc523
parent 6629e1ce
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -267,8 +267,7 @@ public class AccessibilityButtonChooserActivity extends Activity {
        targets.addAll(getAccessibilityServiceTargets(context));
        targets.addAll(getWhiteListingServiceTargets(context));

        final AccessibilityManager ams = (AccessibilityManager) context.getSystemService(
                Context.ACCESSIBILITY_SERVICE);
        final AccessibilityManager ams = context.getSystemService(AccessibilityManager.class);
        final List<String> requiredTargets = ams.getAccessibilityShortcutTargets(shortcutType);
        targets.removeIf(target -> !requiredTargets.contains(target.getId()));

@@ -277,8 +276,7 @@ public class AccessibilityButtonChooserActivity extends Activity {

    private static List<AccessibilityButtonTarget> getAccessibilityServiceTargets(
            @NonNull Context context) {
        final AccessibilityManager ams = (AccessibilityManager) context.getSystemService(
                Context.ACCESSIBILITY_SERVICE);
        final AccessibilityManager ams = context.getSystemService(AccessibilityManager.class);
        final List<AccessibilityServiceInfo> installedServices =
                ams.getInstalledAccessibilityServiceList();
        if (installedServices == null) {
@@ -559,8 +557,7 @@ public class AccessibilityButtonChooserActivity extends Activity {

    private static boolean isAccessibilityServiceEnabled(@NonNull Context context,
            AccessibilityButtonTarget target) {
        final AccessibilityManager ams = (AccessibilityManager) context.getSystemService(
                Context.ACCESSIBILITY_SERVICE);
        final AccessibilityManager ams = context.getSystemService(AccessibilityManager.class);
        final List<AccessibilityServiceInfo> enabledServices =
                ams.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_ALL_MASK);

@@ -598,8 +595,7 @@ public class AccessibilityButtonChooserActivity extends Activity {

    private void onLegacyTargetSelected(AccessibilityButtonTarget target) {
        if (mShortcutType == ACCESSIBILITY_BUTTON) {
            final AccessibilityManager ams = (AccessibilityManager) getSystemService(
                    Context.ACCESSIBILITY_SERVICE);
            final AccessibilityManager ams = getSystemService(AccessibilityManager.class);
            ams.notifyAccessibilityButtonClicked(getDisplayId(), target.getId());
        } else if (mShortcutType == ACCESSIBILITY_SHORTCUT_KEY) {
            switchServiceState(target);
@@ -607,9 +603,12 @@ public class AccessibilityButtonChooserActivity extends Activity {
    }

    private void onInvisibleTargetSelected(AccessibilityButtonTarget target) {
        final AccessibilityManager ams = (AccessibilityManager) getSystemService(
                Context.ACCESSIBILITY_SERVICE);
        final AccessibilityManager ams = getSystemService(AccessibilityManager.class);
        if (mShortcutType == ACCESSIBILITY_BUTTON) {
            ams.notifyAccessibilityButtonClicked(getDisplayId(), target.getId());
        } else if (mShortcutType == ACCESSIBILITY_SHORTCUT_KEY) {
            ams.performAccessibilityShortcut(target.getId());
        }
    }

    private void onIntuitiveTargetSelected(AccessibilityButtonTarget target) {