1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2019 The Android Open Source Project
3
4     Licensed under the Apache License, Version 2.0 (the "License");
5     you may not use this file except in compliance with the License.
6     You may obtain a copy of the License at
7
8          http://www.apache.org/licenses/LICENSE-2.0
9
10     Unless required by applicable law or agreed to in writing, software
11     distributed under the License is distributed on an "AS IS" BASIS,
12     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13     See the License for the specific language governing permissions and
14     limitations under the License.
15-->
16
17<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
18                  xmlns:settings="http://schemas.android.com/apk/res-auto"
19                  android:key="development_prefs_screen"
20                  android:title="@string/development_settings_title">
21
22    <PreferenceCategory
23        android:key="debug_misc_category"
24        android:order="100">
25
26        <Preference
27            android:key="memory"
28            android:icon="@drawable/ic_settings_memory"
29            android:title="@string/memory_settings_title"
30            android:summary="@string/summary_placeholder"
31            android:fragment="com.android.car.developeroptions.applications.ProcessStatsSummary" />
32
33        <Preference
34            android:key="system_server_heap_dump"
35            android:title="@string/capture_system_heap_dump_title" />
36
37        <Preference
38            android:key="local_backup_password"
39            android:title="@string/local_backup_password_title"
40            android:summary="@string/local_backup_password_summary_none"
41            android:persistent="false">
42            <intent
43                android:action="android.settings.privacy.SET_FULL_BACKUP_PASSWORD"
44                android:targetPackage="com.android.car.developeroptions"
45                android:targetClass="com.android.car.developeroptions.SetFullBackupPassword" />
46        </Preference>
47
48        <com.android.settingslib.RestrictedSwitchPreference
49            android:key="keep_screen_on"
50            android:title="@string/keep_screen_on"
51            android:summary="@string/keep_screen_on_summary"
52            settings:useAdditionalSummary="true" />
53
54        <ListPreference
55            android:key="hdcp_checking"
56            android:title="@string/hdcp_checking_title"
57            android:dialogTitle="@string/hdcp_checking_dialog_title"
58            android:entries="@array/hdcp_checking_titles"
59            android:entryValues="@array/hdcp_checking_values" />
60
61        <ListPreference
62            android:key="bt_hci_snoop_log"
63            android:title="@string/bt_hci_snoop_log"
64            android:dialogTitle="@string/bt_hci_snoop_log_summary"
65            android:entries="@array/bt_hci_snoop_log_entries"
66            android:entryValues="@array/bt_hci_snoop_log_values" />
67
68        <com.android.settingslib.RestrictedSwitchPreference
69            android:key="oem_unlock_enable"
70            android:title="@string/oem_unlock_enable"
71            android:summary="@string/oem_unlock_enable_summary"
72            settings:useAdditionalSummary="true" />
73
74        <Preference
75            android:key="running_apps"
76            android:title="@string/runningservices_settings_title"
77            android:summary="@string/runningservices_settings_summary"
78            android:fragment="com.android.car.developeroptions.applications.RunningServices" />
79
80        <Preference
81            android:key="convert_to_file_encryption"
82            android:title="@string/convert_to_file_encryption"
83            android:summary="@string/convert_to_file_encryption_enabled"
84            android:fragment="com.android.car.developeroptions.applications.ConvertToFbe" />
85
86        <com.android.car.developeroptions.development.ColorModePreference
87            android:key="picture_color_mode"
88            android:title="@string/picture_color_mode"
89            android:summary="@string/picture_color_mode_desc" />
90
91        <Preference android:key="select_webview_provider"
92                    android:title="@string/select_webview_provider_title"
93                    android:dialogTitle="@string/select_webview_provider_dialog_title"
94                    android:fragment="com.android.car.developeroptions.webview.WebViewAppPicker" />
95
96        <SwitchPreference
97            android:key="color_temperature"
98            android:title="@string/color_temperature"
99            android:summary="@string/color_temperature_desc" />
100
101        <SwitchPreference
102            android:key="ota_disable_automatic_update"
103            android:title="@string/ota_disable_automatic_update"
104            android:summary="@string/ota_disable_automatic_update_summary" />
105
106        <Preference
107            android:key="demo_mode"
108            android:title="@string/demo_mode">
109            <intent android:action="com.android.car.developeroptions.action.DEMO_MODE" />
110        </Preference>
111
112        <Preference
113            android:key="quick_settings_tiles"
114            android:title="@string/quick_settings_developer_tiles"
115            android:fragment="com.android.car.developeroptions.development.qstile.DevelopmentTileConfigFragment"
116            settings:searchable="false" />
117
118    <!-- Configure trust agent behavior -->
119    <SwitchPreference
120        android:key="security_setting_trust_agents_extend_unlock"
121        android:title="@string/trust_agents_extend_unlock_title"
122        android:summary="@string/trust_agents_extend_unlock_summary" />
123
124    <SwitchPreference
125        android:key="security_setting_trust_lost_locks_screen"
126        android:title="@string/trust_lost_locks_screen_title"
127        android:summary="@string/trust_lost_locks_screen_summary" />
128    </PreferenceCategory>
129
130    <PreferenceCategory
131        android:key="debug_debugging_category"
132        android:title="@string/debug_debugging_category"
133        android:order="200">
134
135        <SwitchPreference
136            android:key="enable_adb"
137            android:title="@string/enable_adb"
138            android:summary="@string/enable_adb_summary" />
139
140        <Preference android:key="clear_adb_keys"
141                    android:title="@string/clear_adb_keys" />
142
143        <SwitchPreference
144            android:key="enable_terminal"
145            android:title="@string/enable_terminal_title"
146            android:summary="@string/enable_terminal_summary" />
147
148        <SwitchPreference
149            android:key="automatic_system_server_heap_dumps"
150            android:title="@string/automatic_system_heap_dump_title"
151            android:summary="@string/automatic_system_heap_dump_summary" />
152
153        <Preference android:key="mock_location_app"
154                    android:title="@string/mock_location_app" />
155
156        <SwitchPreference
157            android:key="enable_gnss_raw_meas_full_tracking"
158            android:title="@string/enable_gnss_raw_meas_full_tracking"
159            android:summary="@string/enable_gnss_raw_meas_full_tracking_summary" />
160
161        <SwitchPreference
162            android:key="enable_user_switch_message"
163            android:title="@string/enable_user_switch_message"
164            android:summary="@string/enable_user_switch_message_summary" />
165
166        <SwitchPreference
167            android:key="debug_view_attributes"
168            android:title="@string/debug_view_attributes" />
169
170        <Preference android:key="debug_app"
171                    android:title="@string/debug_app" />
172
173        <SwitchPreference
174            android:key="wait_for_debugger"
175            android:title="@string/wait_for_debugger"
176            android:summary="@string/wait_for_debugger_summary" />
177
178        <com.android.settingslib.RestrictedSwitchPreference
179            android:key="verify_apps_over_usb"
180            android:title="@string/verify_apps_over_usb_title"
181            android:summary="@string/verify_apps_over_usb_summary" />
182
183        <SwitchPreference
184            android:key="art_verifier_for_debuggable"
185            android:title="@string/art_verifier_for_debuggable_title"
186            android:summary="@string/art_verifier_for_debuggable_summary" />
187
188        <ListPreference
189            android:key="select_logd_size"
190            android:title="@string/select_logd_size_title"
191            android:dialogTitle="@string/select_logd_size_dialog_title"
192            android:entries="@array/select_logd_size_titles"
193            android:entryValues="@array/select_logd_size_values" />
194
195        <ListPreference
196            android:key="select_logpersist"
197            android:title="@string/select_logpersist_title"
198            android:dialogTitle="@string/select_logpersist_dialog_title"
199            android:entries="@array/select_logpersist_titles"
200            android:entryValues="@array/select_logpersist_values" />
201
202        <SwitchPreference
203            android:key="camera_laser_sensor_switch"
204            android:title="@string/camera_laser_sensor_switch" />
205
206        <Preference
207            android:key="feature_flags_dashboard"
208            android:title="@string/feature_flags_dashboard_title"
209            android:fragment="com.android.car.developeroptions.development.featureflags.FeatureFlagsDashboard"
210            settings:searchable="false" />
211
212        <SwitchPreference
213            android:key="enable_gpu_debug_layers"
214            android:title="@string/enable_gpu_debug_layers"
215            android:summary="@string/enable_gpu_debug_layers_summary" />
216
217        <Preference
218            android:key="game_driver_dashboard"
219            android:title="@string/game_driver_dashboard_title"
220            android:summary="@string/game_driver_dashboard_summary"
221            android:fragment="com.android.car.developeroptions.development.gamedriver.GameDriverDashboard"
222            settings:searchable="false" />
223
224    </PreferenceCategory>
225
226    <PreferenceCategory
227        android:key="dashboard_tile_placeholder"
228        android:order="300" />
229
230    <PreferenceCategory
231        android:key="debug_networking_category"
232        android:title="@string/debug_networking_category"
233        android:order="400">
234
235        <SwitchPreference
236            android:key="wifi_display_certification"
237            android:title="@string/wifi_display_certification"
238            android:summary="@string/wifi_display_certification_summary" />
239
240        <SwitchPreference
241            android:key="wifi_verbose_logging"
242            android:title="@string/wifi_verbose_logging"
243            android:summary="@string/wifi_verbose_logging_summary" />
244
245        <SwitchPreference
246            android:key="mobile_data_always_on"
247            android:title="@string/mobile_data_always_on"
248            android:summary="@string/mobile_data_always_on_summary" />
249
250        <SwitchPreference
251            android:key="tethering_hardware_offload"
252            android:title="@string/tethering_hardware_offload"
253            android:summary="@string/tethering_hardware_offload_summary" />
254
255        <Preference
256            android:key="default_usb_configuration"
257            android:fragment="com.android.car.developeroptions.connecteddevice.usb.UsbDefaultFragment"
258            android:icon="@drawable/ic_usb"
259            android:title="@string/usb_default_label"/>
260
261        <SwitchPreference
262            android:key="bluetooth_show_devices_without_names"
263            android:title="@string/bluetooth_show_devices_without_names"
264            android:summary="@string/bluetooth_show_devices_without_names_summary" />
265
266        <SwitchPreference
267            android:key="bluetooth_disable_absolute_volume"
268            android:title="@string/bluetooth_disable_absolute_volume"
269            android:summary="@string/bluetooth_disable_absolute_volume_summary" />
270
271        <SwitchPreference
272            android:key="bluetooth_disable_a2dp_hw_offload"
273            android:title="@string/bluetooth_disable_a2dp_hw_offload" />
274
275        <ListPreference
276            android:key="bluetooth_select_avrcp_version"
277            android:title="@string/bluetooth_select_avrcp_version_string"
278            android:dialogTitle="@string/bluetooth_select_avrcp_version_dialog_title"
279            android:entries="@array/bluetooth_avrcp_versions"
280            android:entryValues="@array/bluetooth_avrcp_version_values" />
281
282        <ListPreference
283            android:key="bluetooth_select_a2dp_codec"
284            android:title="@string/bluetooth_select_a2dp_codec_type"
285            android:dialogTitle="@string/bluetooth_select_a2dp_codec_type_dialog_title"
286            android:entries="@array/bluetooth_a2dp_codec_titles"
287            android:entryValues="@array/bluetooth_a2dp_codec_values" />
288
289        <ListPreference
290            android:key="bluetooth_select_a2dp_sample_rate"
291            android:title="@string/bluetooth_select_a2dp_codec_sample_rate"
292            android:dialogTitle="@string/bluetooth_select_a2dp_codec_sample_rate_dialog_title"
293            android:entries="@array/bluetooth_a2dp_codec_sample_rate_titles"
294            android:entryValues="@array/bluetooth_a2dp_codec_sample_rate_values" />
295
296        <ListPreference
297            android:key="bluetooth_select_a2dp_bits_per_sample"
298            android:title="@string/bluetooth_select_a2dp_codec_bits_per_sample"
299            android:dialogTitle="@string/bluetooth_select_a2dp_codec_bits_per_sample_dialog_title"
300            android:entries="@array/bluetooth_a2dp_codec_bits_per_sample_titles"
301            android:entryValues="@array/bluetooth_a2dp_codec_bits_per_sample_values" />
302
303        <ListPreference
304            android:key="bluetooth_select_a2dp_channel_mode"
305            android:title="@string/bluetooth_select_a2dp_codec_channel_mode"
306            android:dialogTitle="@string/bluetooth_select_a2dp_codec_channel_mode_dialog_title"
307            android:entries="@array/bluetooth_a2dp_codec_channel_mode_titles"
308            android:entryValues="@array/bluetooth_a2dp_codec_channel_mode_values" />
309
310        <ListPreference
311            android:key="bluetooth_select_a2dp_ldac_playback_quality"
312            android:title="@string/bluetooth_select_a2dp_codec_ldac_playback_quality"
313            android:dialogTitle="@string/bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title"
314            android:entries="@array/bluetooth_a2dp_codec_ldac_playback_quality_titles"
315            android:entryValues="@array/bluetooth_a2dp_codec_ldac_playback_quality_values" />
316
317        <ListPreference
318            android:key="bluetooth_max_connected_audio_devices"
319            android:title="@string/bluetooth_max_connected_audio_devices_string"
320            android:dialogTitle="@string/bluetooth_max_connected_audio_devices_dialog_title"
321            android:entries="@array/bluetooth_max_connected_audio_devices"
322            android:entryValues="@array/bluetooth_max_connected_audio_devices_values" />
323
324    </PreferenceCategory>
325
326    <PreferenceCategory
327        android:key="debug_input_category"
328        android:title="@string/debug_input_category"
329        android:order="500">
330
331        <SwitchPreference
332            android:key="show_touches"
333            android:title="@string/show_touches"
334            android:summary="@string/show_touches_summary" />
335
336        <SwitchPreference
337            android:key="pointer_location"
338            android:title="@string/pointer_location"
339            android:summary="@string/pointer_location_summary" />
340
341    </PreferenceCategory>
342
343    <PreferenceCategory
344        android:key="debug_drawing_category"
345        android:title="@string/debug_drawing_category"
346        android:order="600">
347
348        <SwitchPreference
349            android:key="show_screen_updates"
350            android:title="@string/show_screen_updates"
351            android:summary="@string/show_screen_updates_summary" />
352
353        <SwitchPreference
354            android:key="debug_layout"
355            android:title="@string/debug_layout"
356            android:summary="@string/debug_layout_summary" />
357
358        <SwitchPreference
359            android:key="force_rtl_layout_all_locales"
360            android:title="@string/force_rtl_layout_all_locales"
361            android:summary="@string/force_rtl_layout_all_locales_summary" />
362
363        <ListPreference
364            android:key="window_animation_scale"
365            android:title="@string/window_animation_scale_title"
366            android:entries="@array/window_animation_scale_entries"
367            android:entryValues="@array/window_animation_scale_values" />
368
369        <ListPreference
370            android:key="transition_animation_scale"
371            android:title="@string/transition_animation_scale_title"
372            android:entries="@array/transition_animation_scale_entries"
373            android:entryValues="@array/transition_animation_scale_values" />
374
375        <ListPreference
376            android:key="animator_duration_scale"
377            android:title="@string/animator_duration_scale_title"
378            android:entries="@array/animator_duration_scale_entries"
379            android:entryValues="@array/animator_duration_scale_values" />
380
381        <ListPreference
382            android:key="overlay_display_devices"
383            android:title="@string/overlay_display_devices_title"
384            android:entries="@array/overlay_display_devices_entries"
385            android:entryValues="@array/overlay_display_devices_values" />
386
387        <com.android.car.developeroptions.display.DensityPreference
388            android:key="density"
389            android:title="@string/developer_smallest_width" />
390
391        <ListPreference
392            android:key="display_cutout_emulation"
393            android:title="@string/display_cutout_emulation"
394            settings:keywords="@string/display_cutout_emulation_keywords" />
395
396    </PreferenceCategory>
397
398    <PreferenceCategory
399        android:key="debug_hw_drawing_category"
400        android:title="@string/debug_hw_drawing_category"
401        android:order="700">
402
403        <SwitchPreference
404            android:key="show_hw_screen_updates"
405            android:title="@string/show_hw_screen_updates"
406            android:summary="@string/show_hw_screen_updates_summary" />
407
408        <SwitchPreference
409            android:key="show_hw_layers_updates"
410            android:title="@string/show_hw_layers_updates"
411            android:summary="@string/show_hw_layers_updates_summary" />
412
413        <ListPreference
414            android:key="debug_hw_overdraw"
415            android:title="@string/debug_hw_overdraw"
416            android:entries="@array/debug_hw_overdraw_entries"
417            android:entryValues="@array/debug_hw_overdraw_values" />
418
419        <ListPreference
420            android:key="show_non_rect_clip"
421            android:title="@string/show_non_rect_clip"
422            android:entries="@array/show_non_rect_clip_entries"
423            android:entryValues="@array/show_non_rect_clip_values" />
424
425        <SwitchPreference
426            android:key="hwui_force_dark"
427            android:title="@string/hwui_force_dark_title"
428            android:summary="@string/hwui_force_dark_summary" />
429
430        <SwitchPreference
431            android:key="force_msaa"
432            android:title="@string/force_msaa"
433            android:summary="@string/force_msaa_summary" />
434
435        <SwitchPreference
436            android:key="disable_overlays"
437            android:title="@string/disable_overlays"
438            android:summary="@string/disable_overlays_summary" />
439
440        <ListPreference
441            android:entries="@array/simulate_color_space_entries"
442            android:entryValues="@array/simulate_color_space_values"
443            android:key="simulate_color_space"
444            android:summary="%s"
445            android:title="@string/simulate_color_space" />
446
447    </PreferenceCategory>
448
449    <PreferenceCategory
450        android:key="media_category"
451        android:title="@string/media_category"
452        android:order="800">
453
454        <SwitchPreference
455            android:key="usb_audio"
456            android:title="@string/usb_audio_disable_routing"
457            android:summary="@string/usb_audio_disable_routing_summary" />
458
459    </PreferenceCategory>
460
461    <PreferenceCategory
462        android:key="debug_monitoring_category"
463        android:title="@string/debug_monitoring_category"
464        android:order="900">
465
466        <SwitchPreference
467            android:key="strict_mode"
468            android:title="@string/strict_mode"
469            android:summary="@string/strict_mode_summary" />
470
471        <ListPreference
472            android:key="track_frame_time"
473            android:title="@string/track_frame_time"
474            android:entries="@array/track_frame_time_entries"
475            android:entryValues="@array/track_frame_time_values" />
476
477    </PreferenceCategory>
478
479    <PreferenceCategory
480        android:key="debug_applications_category"
481        android:title="@string/debug_applications_category"
482        android:order="1000">
483
484        <SwitchPreference
485            android:key="immediately_destroy_activities"
486            android:title="@string/immediately_destroy_activities"
487            android:summary="@string/immediately_destroy_activities_summary" />
488
489        <ListPreference
490            android:key="app_process_limit"
491            android:title="@string/app_process_limit_title"
492            android:entries="@array/app_process_limit_entries"
493            android:entryValues="@array/app_process_limit_values" />
494
495        <Preference
496            android:key="background_check"
497            android:fragment="com.android.car.developeroptions.applications.appops.BackgroundCheckSummary"
498            android:title="@string/background_check_pref" />
499
500        <SwitchPreference
501            android:key="allow_background_activity_starts"
502            android:title="@string/allow_background_activity_starts"
503            android:summary="@string/allow_background_activity_starts_summary" />
504
505        <SwitchPreference
506            android:key="show_first_crash_dialog"
507            android:title="@string/show_first_crash_dialog"
508            android:summary="@string/show_first_crash_dialog_summary" />
509
510        <SwitchPreference
511            android:key="show_all_anrs"
512            android:title="@string/show_all_anrs"
513            android:summary="@string/show_all_anrs_summary" />
514
515        <SwitchPreference
516            android:key="show_notification_channel_warnings"
517            android:title="@string/show_notification_channel_warnings"
518            android:summary="@string/show_notification_channel_warnings_summary" />
519
520        <Preference
521            android:key="inactive_apps"
522            android:title="@string/inactive_apps_title"
523            android:fragment="com.android.car.developeroptions.fuelgauge.InactiveApps" />
524
525        <SwitchPreference
526            android:key="force_allow_on_external"
527            android:title="@string/force_allow_on_external"
528            android:summary="@string/force_allow_on_external_summary" />
529
530        <SwitchPreference
531            android:key="force_resizable_activities"
532            android:title="@string/force_resizable_activities"
533            android:summary="@string/force_resizable_activities_summary" />
534
535        <SwitchPreference
536            android:key="enable_freeform_support"
537            android:title="@string/enable_freeform_support"
538            android:summary="@string/enable_freeform_support_summary" />
539
540        <SwitchPreference
541            android:key="force_desktop_mode_on_external_displays"
542            android:title="@string/force_desktop_mode"
543            android:summary="@string/force_desktop_mode_summary" />
544
545        <Preference
546            android:key="reset_shortcut_manager_throttling"
547            android:title="@string/reset_shortcut_manager_throttling" />
548
549        <SwitchPreference
550            android:key="sms_access_restriction_enabled"
551            android:title="@string/sms_access_restriction_enabled"
552            android:summary="@string/sms_access_restriction_enabled_summary" />
553    </PreferenceCategory>
554
555    <com.android.car.developeroptions.development.autofill.AutofillPreferenceCategory
556        android:key="debug_autofill_category"
557        android:title="@string/debug_autofill_category"
558        android:order="1100">
559
560        <ListPreference
561            android:key="autofill_logging_level"
562            android:title="@string/autofill_logging_level_title"
563            android:entries="@array/autofill_logging_level_entries"
564            android:entryValues="@array/autofill_logging_level_values" />
565
566        <com.android.car.developeroptions.development.autofill.AutofillMaxPartitionsPreference
567            android:key="autofill_max_partitions"
568            android:title="@string/autofill_max_partitions" />
569
570        <com.android.car.developeroptions.development.autofill.AutofillVisibleDatasetsPreference
571            android:key="autofill_visible_datasets"
572            android:title="@string/autofill_max_visible_datasets" />
573
574        <Preference
575            android:key="autofill_reset_developer_options"
576            android:title="@string/autofill_reset_developer_options" />
577
578    </com.android.car.developeroptions.development.autofill.AutofillPreferenceCategory>
579
580    <PreferenceCategory
581        android:key="theme_customization_category"
582        android:title="@string/theme_customization_category"
583        android:order="1200"> <!-- Incremented by 100 from last order (i.e. 1100) -->
584
585        <ListPreference
586            android:key="android.theme.customization.accent_color"
587            android:title="@string/theme_customization_accent_color_title"/>
588        <ListPreference
589            android:key="android.theme.customization.font"
590            android:title="@string/theme_customization_font_title"/>
591        <ListPreference
592            android:key="android.theme.customization.adaptive_icon_shape"
593            android:title="@string/theme_customization_icon_shape_title"/>
594    </PreferenceCategory>
595</PreferenceScreen>
596