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

Commit 867c6d27 authored by sallyyuen's avatar sallyyuen
Browse files

Support sending KEYCODE_HEADSETHOOK KeyEvent from an a11y service

Add a private global action to be made public in S. A service can
trigger the event by calling performGlobalAction(10) in R.

Note: Currently 10 is being used by SystemActions for the Accessibility
shortcut. Update ag/10921262 to avoid a conflict.

Bug: 154038741
Test: Tested with modified TalkBack and Youtube play/pause
Change-Id: I3ca5d25948bfb3eb8520030484cb466ec7188784
parent 53e927f8
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -494,6 +494,13 @@ public abstract class AccessibilityService extends Service {
     */
    public static final int GLOBAL_ACTION_TAKE_SCREENSHOT = 9;

    /**
     * Action to send the KEYCODE_HEADSETHOOK KeyEvent, which is used to answer/hang up calls and
     * play/stop media
     * @hide
     */
    public static final int GLOBAL_ACTION_KEYCODE_HEADSETHOOK = 10;

    private static final String LOG_TAG = "AccessibilityService";

    /**
+3 −0
Original line number Diff line number Diff line
@@ -301,6 +301,9 @@ public class SystemActionPerformer {
                    return lockScreen();
                case AccessibilityService.GLOBAL_ACTION_TAKE_SCREENSHOT:
                    return takeScreenshot();
                case AccessibilityService.GLOBAL_ACTION_KEYCODE_HEADSETHOOK :
                    sendDownAndUpKeyEvents(KeyEvent.KEYCODE_HEADSETHOOK);
                    return true;
                default:
                    return false;
            }