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

Commit 7c467be1 authored by Yuhan Yang's avatar Yuhan Yang Committed by Android (Google) Code Review
Browse files

Merge "Add autoclick shortcut to a11y autoclick settings" into main

parents bdd9cca6 0516a06a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -5650,6 +5650,9 @@
    <string name="accessibility_autoclick_longer_desc">Longer</string>
    <!-- Description for the seekbar that adjust auto click time. [CHAR_LIMIT=NONE] -->
    <string name="accessibility_autoclick_seekbar_desc">Auto click time</string>
    <!-- Title for the toggle button that turns on/off the autoclick shortcut. [CHAR_LIMIT=NONE] -->
    <!-- TODO(b/394683600): Update string to translatable once approved by UXW. -->
    <string name="accessibility_autoclick_shortcut_title" translatable="false">Autoclick shortcut</string>
    <!-- Title for the alert dialog that adjust auto click cursor area size. [CHAR_LIMIT=NONE] -->
    <!-- TODO(b/394683600): Update string to translatable once approved by UXW. -->
    <string name="autoclick_cursor_area_size_title" translatable="false">Click area</string>
+22 −11
Original line number Diff line number Diff line
@@ -22,20 +22,23 @@
    <com.android.settingslib.widget.TopIntroPreference
        android:key="accessibility_autoclick_intro"
        android:title="@string/accessibility_autoclick_intro_text"
        settings:searchable="false"/>
        settings:searchable="false"
        android:order="10"/>

    <com.android.settingslib.widget.IllustrationPreference
        android:key="accessibility_autoclick_banner"
        android:selectable="false"
        settings:searchable="false"
        settings:lottie_rawRes="@drawable/accessibility_dwell"/>
        settings:lottie_rawRes="@drawable/accessibility_dwell"
        android:order="20"/>

    <!-- Items in a list should not be searchable. -->
    <com.android.settingslib.widget.SelectorWithWidgetPreference
        android:key="accessibility_control_autoclick_default"
        android:title="@string/accessibility_autoclick_default_title"
        settings:searchable="false"
        settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
        settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"
        android:order="30"/>

    <!-- Items in a list should not be searchable. -->
    <com.android.settingslib.widget.SelectorWithWidgetPreference
@@ -43,7 +46,8 @@
        android:title="@string/accessibility_autoclick_short_title"
        android:summary="@string/accessibility_autoclick_short_summary"
        settings:searchable="false"
        settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
        settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"
        android:order="31"/>

    <!-- Items in a list should not be searchable. -->
    <com.android.settingslib.widget.SelectorWithWidgetPreference
@@ -51,7 +55,8 @@
        android:title="@string/accessibility_autoclick_medium_title"
        android:summary="@string/accessibility_autoclick_medium_summary"
        settings:searchable="false"
        settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
        settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"
        android:order="32"/>

    <!-- Items in a list should not be searchable. -->
    <com.android.settingslib.widget.SelectorWithWidgetPreference
@@ -59,14 +64,16 @@
        android:title="@string/accessibility_autoclick_long_title"
        android:summary="@string/accessibility_autoclick_long_summary"
        settings:searchable="false"
        settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
        settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"
        android:order="33"/>

    <!-- Items in a list should not be searchable. -->
    <com.android.settingslib.widget.SelectorWithWidgetPreference
        android:key="accessibility_control_autoclick_custom"
        android:title="@string/accessibility_autoclick_custom_title"
        settings:searchable="false"
        settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
        settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"
        android:order="34"/>

    <com.android.settingslib.widget.LayoutPreference
        android:key="autoclick_custom_seekbar"
@@ -74,24 +81,28 @@
        android:selectable="false"
        android:visibility="gone"
        settings:searchable="false"
        settings:controller="com.android.settings.accessibility.ToggleAutoclickCustomSeekbarController"/>
        settings:controller="com.android.settings.accessibility.ToggleAutoclickCustomSeekbarController"
        android:order="40"/>

    <Preference
        android:key="accessibility_control_autoclick_cursor_area_size"
        android:persistent="false"
        settings:searchable="false"
        android:title="@string/autoclick_cursor_area_size_title"
        settings:controller="com.android.settings.accessibility.ToggleAutoclickCursorAreaSizeController" />
        settings:controller="com.android.settings.accessibility.ToggleAutoclickCursorAreaSizeController"
        android:order="50"/>

    <SwitchPreferenceCompat
        android:key="accessibility_control_autoclick_ignore_minor_cursor_movement"
        android:title="@string/autoclick_ignore_minor_cursor_movement_title"
        settings:controller="com.android.settings.accessibility.ToggleAutoclickIgnoreMinorCursorMovementController"/>
        settings:controller="com.android.settings.accessibility.ToggleAutoclickIgnoreMinorCursorMovementController"
        android:order="60"/>

    <com.android.settings.accessibility.AccessibilityFooterPreference
        android:key="accessibility_autoclick_footer"
        android:title="@string/accessibility_autoclick_description"
        android:selectable="false"
        settings:searchable="false"
        settings:controller="com.android.settings.accessibility.ToggleAutoclickFooterPreferenceController"/>
        settings:controller="com.android.settings.accessibility.ToggleAutoclickFooterPreferenceController"
        android:order="70"/>
</PreferenceScreen>
+59 −2
Original line number Diff line number Diff line
@@ -16,22 +16,51 @@

package com.android.settings.accessibility;

import static com.android.internal.accessibility.AccessibilityShortcutController.AUTOCLICK_COMPONENT_NAME;

import android.app.settings.SettingsEnums;
import android.content.ComponentName;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.android.server.accessibility.Flags;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.SelectorWithWidgetPreference;

/**
 * Fragment for preference screen for settings related to Automatically click after mouse stops
 * feature.
 */
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class ToggleAutoclickPreferenceFragment extends DashboardFragment {
public class ToggleAutoclickPreferenceFragment
        extends AccessibilityShortcutPreferenceFragment {

    private static final String TAG = "AutoclickPrefFragment";

    static final String KEY_CONTROL_DEFAULT = "accessibility_control_autoclick_default";
    static final String KEY_AUTOCLICK_SHORTCUT_PREFERENCE = "autoclick_shortcut_preference";

    /**
     * Autoclick settings do not need to set any restriction key for pin protected.
     */
    public ToggleAutoclickPreferenceFragment() {
        super(/* restrictionKey= */ null);
    }

    @Override
    protected CharSequence getLabelName() {
        return getContext().getString(R.string.accessibility_autoclick_shortcut_title);
    }

    @Override
    protected boolean showGeneralCategory() {
        return false;
    }

    @Override
    public int getMetricsCategory() {
        return SettingsEnums.ACCESSIBILITY_TOGGLE_AUTOCLICK;
@@ -52,6 +81,34 @@ public class ToggleAutoclickPreferenceFragment extends DashboardFragment {
        return R.xml.accessibility_autoclick_settings;
    }

    @Override
    protected ComponentName getComponentName() {
        return AUTOCLICK_COMPONENT_NAME;
    }

    @Override
    protected CharSequence getShortcutTitle() {
        return getString(R.string.accessibility_autoclick_shortcut_title);
    }

    @Override
    protected String getShortcutPreferenceKey() {
        return KEY_AUTOCLICK_SHORTCUT_PREFERENCE;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = super.onCreateView(inflater, container, savedInstanceState);
        if (Flags.enableAutoclickIndicator()) {
            SelectorWithWidgetPreference optionDefault = findPreference(KEY_CONTROL_DEFAULT);
            mShortcutPreference.setOrder(optionDefault.getOrder() - 1);
        } else {
            getPreferenceScreen().removePreference(mShortcutPreference);
        }
        return view;
    }

    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider(R.xml.accessibility_autoclick_settings);
}