diff --git a/res/values/strings.xml b/res/values/strings.xml
index c49d6e3f767..2b6a58984ff 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5643,6 +5643,9 @@
Longer
Auto click time
+
+
+ Autoclick shortcut
Click area
diff --git a/res/xml/accessibility_autoclick_settings.xml b/res/xml/accessibility_autoclick_settings.xml
index 11673f7d69e..cc091a57da9 100644
--- a/res/xml/accessibility_autoclick_settings.xml
+++ b/res/xml/accessibility_autoclick_settings.xml
@@ -22,20 +22,23 @@
+ settings:searchable="false"
+ android:order="10"/>
+ settings:lottie_rawRes="@drawable/accessibility_dwell"
+ android:order="20"/>
+ settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"
+ android:order="30"/>
+ settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"
+ android:order="31"/>
+ settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"
+ android:order="32"/>
+ settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"
+ android:order="33"/>
+ settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"
+ android:order="34"/>
+ settings:controller="com.android.settings.accessibility.ToggleAutoclickCustomSeekbarController"
+ android:order="40"/>
+ settings:controller="com.android.settings.accessibility.ToggleAutoclickCursorAreaSizeController"
+ android:order="50"/>
+ settings:controller="com.android.settings.accessibility.ToggleAutoclickIgnoreMinorCursorMovementController"
+ android:order="60"/>
+ settings:controller="com.android.settings.accessibility.ToggleAutoclickFooterPreferenceController"
+ android:order="70"/>
diff --git a/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
index 168e99d45c6..9d655a0b851 100644
--- a/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
@@ -16,22 +16,51 @@
package com.android.settings.accessibility;
-import android.app.settings.SettingsEnums;
+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);
}