Root cause: There is a bunch of different logic of preferences in ToggleAutoclickPreferenceFragment. It’s hard to implement new features and hard to maintain and hard to be testable. Solution: Move out logic of ToggleAutoclickPreferenceFragment into controllers to reduce the complexity of the relationship between preference and fragment. Bug: 197695932 Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility Change-Id: I5db18d5a0c577ad67d15c2d0169a36a67e9f13db
		
			
				
	
	
		
			74 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="utf-8"?>
 | |
| <!-- Copyright (C) 2015 The Android Open Source Project
 | |
| 
 | |
|      Licensed under the Apache License, Version 2.0 (the "License");
 | |
|      you may not use this file except in compliance with the License.
 | |
|      You may obtain a copy of the License at
 | |
| 
 | |
|           http://www.apache.org/licenses/LICENSE-2.0
 | |
| 
 | |
|      Unless required by applicable law or agreed to in writing, software
 | |
|      distributed under the License is distributed on an "AS IS" BASIS,
 | |
|      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|      See the License for the specific language governing permissions and
 | |
|      limitations under the License.
 | |
| -->
 | |
| 
 | |
| <PreferenceScreen
 | |
|     xmlns:android="http://schemas.android.com/apk/res/android"
 | |
|     xmlns:settings="http://schemas.android.com/apk/res-auto"
 | |
|     android:title="@string/accessibility_autoclick_preference_title">
 | |
| 
 | |
|     <com.android.settingslib.widget.TopIntroPreference
 | |
|         android:key="accessibility_autoclick_intro"
 | |
|         android:title="@string/accessibility_autoclick_intro_text"/>
 | |
| 
 | |
|     <com.android.settingslib.widget.IllustrationPreference
 | |
|         android:key="accessibility_autoclick_banner"
 | |
|         android:selectable="false"
 | |
|         settings:searchable="false"
 | |
|         settings:lottie_rawRes="@drawable/accessibility_dwell"/>
 | |
| 
 | |
|     <com.android.settingslib.widget.SelectorWithWidgetPreference
 | |
|         android:key="accessibility_control_autoclick_default"
 | |
|         android:title="@string/accessibility_autoclick_default_title"
 | |
|         settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
 | |
| 
 | |
|     <com.android.settingslib.widget.SelectorWithWidgetPreference
 | |
|         android:key="accessibility_control_autoclick_200ms"
 | |
|         android:title="@string/accessibility_autoclick_short_title"
 | |
|         android:summary="@string/accessibility_autoclick_short_summary"
 | |
|         settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
 | |
| 
 | |
|     <com.android.settingslib.widget.SelectorWithWidgetPreference
 | |
|         android:key="accessibility_control_autoclick_600ms"
 | |
|         android:title="@string/accessibility_autoclick_medium_title"
 | |
|         android:summary="@string/accessibility_autoclick_medium_summary"
 | |
|         settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
 | |
| 
 | |
|     <com.android.settingslib.widget.SelectorWithWidgetPreference
 | |
|         android:key="accessibility_control_autoclick_1sec"
 | |
|         android:title="@string/accessibility_autoclick_long_title"
 | |
|         android:summary="@string/accessibility_autoclick_long_summary"
 | |
|         settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
 | |
| 
 | |
|     <com.android.settingslib.widget.SelectorWithWidgetPreference
 | |
|         android:key="accessibility_control_autoclick_custom"
 | |
|         android:title="@string/accessibility_autoclick_custom_title"
 | |
|         settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
 | |
| 
 | |
|     <com.android.settingslib.widget.LayoutPreference
 | |
|         android:key="autoclick_custom_seekbar"
 | |
|         android:layout="@layout/accessibility_autoclick_custom_seekbar"
 | |
|         android:selectable="false"
 | |
|         android:visibility="gone"
 | |
|         settings:controller="com.android.settings.accessibility.ToggleAutoclickCustomSeekbarController"/>
 | |
| 
 | |
|     <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"/>
 | |
| </PreferenceScreen>
 |