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

Commit 71f14a4e authored by Svetoslav Ganov's avatar Svetoslav Ganov Committed by Android (Google) Code Review
Browse files

Merge "Touch exploration state set to clients asynchronously and depended on...

Merge "Touch exploration state set to clients asynchronously and depended on talking service being enabled."
parents c018496a 00aabf7d
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1828,6 +1828,7 @@ package android.accessibilityservice {
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator CREATOR;
    field public static final int DEFAULT = 1; // 0x1
    field public static final int FEEDBACK_ALL_MASK = -1; // 0xffffffff
    field public static final int FEEDBACK_AUDIBLE = 4; // 0x4
    field public static final int FEEDBACK_GENERIC = 16; // 0x10
    field public static final int FEEDBACK_HAPTIC = 2; // 0x2
@@ -16710,7 +16711,7 @@ package android.provider {
    field public static final java.lang.String SELECTED_INPUT_METHOD_SUBTYPE = "selected_input_method_subtype";
    field public static final java.lang.String SETTINGS_CLASSNAME = "settings_classname";
    field public static final java.lang.String SYS_PROP_SETTING_VERSION = "sys.settings_secure_version";
    field public static final java.lang.String TOUCH_EXPLORATION_REQUESTED = "touch_exploration_requested";
    field public static final java.lang.String TOUCH_EXPLORATION_ENABLED = "touch_exploration_enabled";
    field public static final java.lang.String TTS_DEFAULT_COUNTRY = "tts_default_country";
    field public static final java.lang.String TTS_DEFAULT_LANG = "tts_default_lang";
    field public static final java.lang.String TTS_DEFAULT_PITCH = "tts_default_pitch";
+11 −0
Original line number Diff line number Diff line
@@ -74,6 +74,17 @@ public class AccessibilityServiceInfo implements Parcelable {
     */
    public static final int FEEDBACK_GENERIC = 0x0000010;

    /**
     * Mask for all feedback types.
     *
     * @see #FEEDBACK_SPOKEN
     * @see #FEEDBACK_HAPTIC
     * @see #FEEDBACK_AUDIBLE
     * @see #FEEDBACK_VISUAL
     * @see #FEEDBACK_GENERIC
     */
    public static final int FEEDBACK_ALL_MASK = 0xFFFFFFFF;

    /**
     * If an {@link AccessibilityService} is the default for a given type.
     * Default service is invoked only if no package specific one exists. In case of
+2 −4
Original line number Diff line number Diff line
@@ -2688,11 +2688,9 @@ public final class Settings {
        public static final String ACCESSIBILITY_ENABLED = "accessibility_enabled";

        /**
         * If touch exploration is requested. Touch exploration is enabled if it is
         * requested by this setting, accessibility is enabled and there is at least
         * one enabled accessibility serivce that provides spoken feedback.
         * If touch exploration is enabled.
         */
        public static final String TOUCH_EXPLORATION_REQUESTED = "touch_exploration_requested";
        public static final String TOUCH_EXPLORATION_ENABLED = "touch_exploration_enabled";

        /**
         * List of the enabled accessibility providers.
+24 −20
Original line number Diff line number Diff line
@@ -67,13 +67,17 @@ public final class AccessibilityManager {

    private static final String LOG_TAG = "AccessibilityManager";

    /** @hide */
    public static final int STATE_FLAG_ACCESSIBILITY_ENABLED = 0x00000001;

    /** @hide */
    public static final int STATE_FLAG_TOUCH_EXPLORATION_ENABLED = 0x00000002;

    static final Object sInstanceSync = new Object();

    private static AccessibilityManager sInstance;

    private static final int DO_SET_ACCESSIBILITY_ENABLED = 10;

    private static final int DO_SET_TOUCH_EXPLORATION_ENABLED = 20;
    private static final int DO_SET_STATE = 10;

    final IAccessibilityManager mService;

@@ -100,13 +104,8 @@ public final class AccessibilityManager {
    }

    final IAccessibilityManagerClient.Stub mClient = new IAccessibilityManagerClient.Stub() {
        public void setEnabled(boolean enabled) {
            mHandler.obtainMessage(DO_SET_ACCESSIBILITY_ENABLED, enabled ? 1 : 0, 0).sendToTarget();
        }

        public void setTouchExplorationEnabled(boolean enabled) {
            mHandler.obtainMessage(DO_SET_TOUCH_EXPLORATION_ENABLED,
                    enabled ? 1 : 0, 0).sendToTarget();
        public void setState(int state) {
            mHandler.obtainMessage(DO_SET_STATE, state, 0).sendToTarget();
        }
    };

@@ -119,14 +118,8 @@ public final class AccessibilityManager {
        @Override
        public void handleMessage(Message message) {
            switch (message.what) {
                case DO_SET_ACCESSIBILITY_ENABLED :
                    final boolean isAccessibilityEnabled = (message.arg1 == 1);
                    setAccessibilityState(isAccessibilityEnabled);
                    return;
                case DO_SET_TOUCH_EXPLORATION_ENABLED :
                    synchronized (mHandler) {
                        mIsTouchExplorationEnabled = (message.arg1 == 1);
                    }
                case DO_SET_STATE :
                    setState(message.arg1);
                    return;
                default :
                    Log.w(LOG_TAG, "Unknown message type: " + message.what);
@@ -163,8 +156,8 @@ public final class AccessibilityManager {
        mService = service;

        try {
            final boolean isEnabled = mService.addClient(mClient);
            setAccessibilityState(isEnabled);
            final int stateFlags = mService.addClient(mClient);
            setState(stateFlags);
        } catch (RemoteException re) {
            Log.e(LOG_TAG, "AccessibilityManagerService is dead", re);
        }
@@ -340,6 +333,17 @@ public final class AccessibilityManager {
        return mAccessibilityStateChangeListeners.remove(listener);
    }

    /**
     * Sets the current state.
     *
     * @param stateFlags The state flags.
     */
    private void setState(int stateFlags) {
        final boolean accessibilityEnabled = (stateFlags & STATE_FLAG_ACCESSIBILITY_ENABLED) != 0;
        setAccessibilityState(accessibilityEnabled);
        mIsTouchExplorationEnabled = (stateFlags & STATE_FLAG_TOUCH_EXPLORATION_ENABLED) != 0;
    }

    /**
     * Sets the enabled state.
     *
+2 −2
Original line number Diff line number Diff line
@@ -294,14 +294,14 @@ public class AccessibilityNodeInfo implements Parcelable {
    }

    /**
     * Gets the unique id identifying this node's parent.
     * Gets the parent.
     * <p>
     *   <strong>Note:</strong> It is a client responsibility to recycle the
     *     received info by calling {@link AccessibilityNodeInfo#recycle()}
     *     to avoid creating of multiple instances.
     * </p>
     *
     * @return The node's patent id.
     * @return The parent.
     */
    public AccessibilityNodeInfo getParent() {
        enforceSealed();
Loading