1<?xml version="1.0" encoding="utf-8"?>
2
3<!--
4  Copyright (C) 2017 The Android Open Source Project
5
6  Licensed under the Apache License, Version 2.0 (the "License");
7  you may not use this file except in compliance with the License.
8  You may obtain a copy of the License at
9
10    http://www.apache.org/licenses/LICENSE-2.0
11
12  Unless required by applicable law or agreed to in writing, software
13  distributed under the License is distributed on an "AS IS" BASIS,
14  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  See the License for the specific language governing permissions and
16  limitations under the License.
17  -->
18
19<manifest xmlns:android="http://schemas.android.com/apk/res/android"
20          package="com.android.car.settings"
21          coreApp="true"
22          android:sharedUserId="android.uid.system"
23          android:versionCode="1"
24          android:versionName="1.0">
25
26    <uses-sdk
27        android:minSdkVersion="24"
28        android:targetSdkVersion="29"/>
29
30    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
31    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
32    <uses-permission android:name="android.permission.BACKUP"/>
33    <uses-permission android:name="android.permission.BLUETOOTH"/>
34    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
35    <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED"/>
36    <uses-permission android:name="android.permission.CAR_VENDOR_EXTENSION"/>
37    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
38    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA"/>
39    <uses-permission android:name="android.permission.CONTROL_DISPLAY_UNITS"/>
40    <uses-permission android:name="android.permission.DELETE_CACHE_FILES"/>
41    <uses-permission android:name="android.permission.DUMP"/>
42    <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/>
43    <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
44    <uses-permission android:name="android.permission.GET_PACKAGE_SIZE"/>
45    <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>
46    <uses-permission android:name="android.permission.INJECT_EVENTS"/>
47    <uses-permission android:name="android.permission.INTERNET"/>
48    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
49    <uses-permission android:name="android.permission.MANAGE_SENSOR_PRIVACY"/>
50    <uses-permission android:name="android.permission.MANAGE_USERS"/>
51    <uses-permission android:name="android.permission.MASTER_CLEAR" />
52    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
53    <uses-permission android:name="android.permission.NETWORK_SETTINGS" />
54    <uses-permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY"/>
55    <uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"/>
56    <uses-permission android:name="android.permission.READ_CONTACTS"/>
57    <uses-permission android:name="android.permission.READ_DISPLAY_UNITS"/>
58    <uses-permission android:name="android.permission.REBOOT"/>
59    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
60    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
61    <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES"/>
62    <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"/>
63    <uses-permission android:name="android.permission.START_FOREGROUND"/>
64    <uses-permission android:name="android.permission.STATUS_BAR_SERVICE"/>
65    <uses-permission android:name="android.permission.SUGGEST_MANUAL_TIME_AND_ZONE"/>
66    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
67    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
68
69    <permission android:name="com.android.car.settings.SET_INITIAL_LOCK"
70        android:protectionLevel="signature|setup"/>
71
72    <application
73        android:icon="@drawable/ic_launcher_settings"
74        android:theme="@style/CarSettingTheme"
75        android:label="@string/settings_label"
76        android:requiredForAllUsers="true"
77        android:directBootAware="true"
78        android:supportsRtl="true">
79
80        <activity
81            android:name=".common.CarSettingActivities$QuickSettingActivity"
82            android:launchMode="singleInstance"
83            android:finishOnTaskLaunch="true"
84            android:windowSoftInputMode="adjustPan"
85            android:exported="true">
86            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
87            <meta-data android:name="distractionOptimized" android:value="true"/>
88        </activity>
89
90        <activity
91            android:name=".common.CarSettingActivities$HomepageActivity"
92            android:launchMode="singleTask"
93            android:finishOnTaskLaunch="true"
94            android:windowSoftInputMode="adjustPan"
95            android:exported="true">
96            <intent-filter android:priority="1">
97                <action android:name="android.settings.SETTINGS" />
98                <category android:name="android.intent.category.DEFAULT" />
99            </intent-filter>
100            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
101                       android:value="@string/hk_HomepageActivity" />
102            <meta-data android:name="distractionOptimized" android:value="true"/>
103        </activity>
104
105        <activity
106            android:name=".common.SubSettingsActivity"
107            android:windowSoftInputMode="adjustPan">
108            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
109            <meta-data android:name="distractionOptimized" android:value="true"/>
110        </activity>
111
112        <activity
113            android:name=".common.CarSettingActivities$DisplaySettingsActivity"
114            android:windowSoftInputMode="adjustPan"
115            android:exported="true">
116            <intent-filter android:priority="1">
117                <action android:name="android.settings.DISPLAY_SETTINGS" />
118                <category android:name="android.intent.category.DEFAULT" />
119            </intent-filter>
120            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
121                       android:value="@string/hk_DisplaySettingsActivity" />
122            <meta-data android:name="distractionOptimized" android:value="true"/>
123        </activity>
124
125        <activity
126            android:name=".common.CarSettingActivities$SoundSettingsActivity"
127            android:windowSoftInputMode="adjustPan"
128            android:exported="true">
129            <intent-filter android:priority="1">
130                <action android:name="android.settings.SOUND_SETTINGS" />
131                <action android:name="android.settings.panel.action.VOLUME" />
132                <category android:name="android.intent.category.DEFAULT" />
133            </intent-filter>
134            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
135                       android:value="@string/hk_SoundSettingsActivity" />
136            <meta-data android:name="distractionOptimized" android:value="true"/>
137        </activity>
138
139        <activity
140            android:name=".common.CarSettingActivities$RingtonePickerActivity"
141            android:windowSoftInputMode="adjustPan"
142            android:finishOnTaskLaunch="true"
143            android:exported="true">
144            <intent-filter android:priority="1">
145                <action android:name="android.intent.action.RINGTONE_PICKER" />
146                <category android:name="android.intent.category.DEFAULT" />
147            </intent-filter>
148            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
149                       android:value="@string/hk_RingtonePickerActivity" />
150            <meta-data android:name="distractionOptimized" android:value="true"/>
151        </activity>
152
153        <activity
154            android:name=".common.CarSettingActivities$NetworkAndInternetActivity"
155            android:windowSoftInputMode="adjustPan"
156            android:exported="true">
157            <intent-filter android:priority="100">
158                <action android:name="android.settings.panel.action.INTERNET_CONNECTIVITY" />
159                <action android:name="android.settings.WIRELESS_SETTINGS" />
160                <category android:name="android.intent.category.DEFAULT" />
161            </intent-filter>
162            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
163                       android:value="@string/hk_NetworkAndInternetActivity" />
164            <meta-data android:name="distractionOptimized" android:value="true"/>
165        </activity>
166
167        <activity
168            android:name=".common.CarSettingActivities$BluetoothSettingsActivity"
169            android:windowSoftInputMode="adjustPan"
170            android:exported="true">
171            <intent-filter android:priority="1">
172                <action android:name="android.settings.BLUETOOTH_SETTINGS" />
173                <category android:name="android.intent.category.DEFAULT" />
174            </intent-filter>
175            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
176                       android:value="@string/hk_BluetoothSettingsActivity" />
177            <meta-data android:name="distractionOptimized" android:value="true"/>
178        </activity>
179
180        <activity
181            android:name=".common.CarSettingActivities$UnitsSettingsActivity"
182            android:windowSoftInputMode="adjustPan"
183            android:exported="true">
184            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
185                       android:value="@string/hk_UnitsSettingsActivity" />
186            <meta-data android:name="distractionOptimized" android:value="true"/>
187        </activity>
188
189        <activity
190            android:name=".common.CarSettingActivities$LocationSettingsActivity"
191            android:configChanges="orientation|keyboardHidden|screenSize"
192            android:windowSoftInputMode="adjustResize"
193            android:exported="true">
194            <intent-filter>
195                <action android:name="android.settings.LOCATION_SOURCE_SETTINGS" />
196                <category android:name="android.intent.category.DEFAULT" />
197            </intent-filter>
198            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
199                       android:value="@string/hk_LocationSettingsActivity" />
200            <meta-data android:name="distractionOptimized" android:value="true"/>
201        </activity>
202
203        <activity
204            android:name=".common.CarSettingActivities$AppsActivity"
205            android:windowSoftInputMode="adjustPan"
206            android:exported="true">
207            <intent-filter>
208                <action android:name="android.settings.APPLICATION_SETTINGS" />
209                <category android:name="android.intent.category.DEFAULT" />
210            </intent-filter>
211            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
212                       android:value="@string/hk_AppsActivity" />
213            <meta-data android:name="distractionOptimized" android:value="true"/>
214        </activity>
215
216        <activity
217            android:name=".common.CarSettingActivities$NotificationsActivity"
218            android:windowSoftInputMode="adjustPan"
219            android:exported="true">
220            <intent-filter>
221                <action android:name="android.settings.NOTIFICATION_SETTINGS" />
222                <category android:name="android.intent.category.DEFAULT" />
223            </intent-filter>
224            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
225                       android:value="@string/hk_NotificationsActivity" />
226            <meta-data android:name="distractionOptimized" android:value="true"/>
227        </activity>
228
229        <activity
230            android:name=".common.CarSettingActivities$DatetimeSettingsActivity"
231            android:windowSoftInputMode="adjustPan"
232            android:exported="true">
233            <intent-filter android:priority="1">
234                <action android:name="android.settings.DATE_SETTINGS" />
235                <action android:name="android.intent.action.QUICK_CLOCK" />
236                <category android:name="android.intent.category.DEFAULT" />
237            </intent-filter>
238            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
239                       android:value="@string/hk_DatetimeSettingsActivity" />
240            <meta-data android:name="distractionOptimized" android:value="true"/>
241        </activity>
242
243        <activity
244            android:name=".common.CarSettingActivities$ProfileDetailsActivity"
245            android:excludeFromRecents="true"
246            android:exported="true">
247            <intent-filter android:priority="1">
248                <action android:name="android.settings.USER_SETTINGS" />
249                <action android:name="android.settings.SYNC_SETTINGS" />
250                <category android:name="android.intent.category.DEFAULT" />
251            </intent-filter>
252            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
253                       android:value="@string/hk_ProfileDetailsActivity" />
254            <meta-data android:name="distractionOptimized" android:value="true"/>
255        </activity>
256
257        <activity
258            android:name=".common.CarSettingActivities$PrivacySettingsActivity"
259            android:windowSoftInputMode="adjustPan"
260            android:exported="true">
261            <intent-filter android:priority="100">
262                <action android:name="android.settings.PRIVACY_SETTINGS" />
263                <category android:name="android.intent.category.DEFAULT" />
264            </intent-filter>
265            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
266                       android:value="@string/hk_PrivacySettingsActivity" />
267            <meta-data android:name="distractionOptimized" android:value="true"/>
268        </activity>
269
270        <activity
271            android:name=".common.CarSettingActivities$VehicleDataActivity"
272            android:windowSoftInputMode="adjustPan"
273            android:exported="true">
274            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
275                       android:value="@string/hk_VehicleDataActivity" />
276            <meta-data android:name="distractionOptimized" android:value="true"/>
277        </activity>
278
279        <activity
280            android:name=".common.CarSettingActivities$StorageSettingsActivity"
281            android:windowSoftInputMode="adjustPan"
282            android:exported="true">
283            <intent-filter android:priority="100">
284                <action android:name="android.settings.INTERNAL_STORAGE_SETTINGS" />
285                <action android:name="android.os.storage.action.MANAGE_STORAGE" />
286                <category android:name="android.intent.category.DEFAULT" />
287            </intent-filter>
288            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
289                       android:value="@string/hk_StorageSettingsActivity" />
290            <meta-data android:name="distractionOptimized" android:value="true"/>
291        </activity>
292
293        <activity
294            android:name=".common.CarSettingActivities$SecuritySettingsActivity"
295            android:windowSoftInputMode="adjustPan"
296            android:exported="true">
297            <intent-filter android:priority="100">
298                <action android:name="android.settings.SECURITY_SETTINGS" />
299                <category android:name="android.intent.category.DEFAULT" />
300            </intent-filter>
301            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
302                       android:value="@string/hk_SecuritySettingsActivity" />
303            <meta-data android:name="distractionOptimized" android:value="true"/>
304        </activity>
305
306        <activity
307            android:name=".common.CarSettingActivities$AssistantAndVoiceSettingsActivity"
308            android:windowSoftInputMode="adjustPan"
309            android:exported="true">
310            <intent-filter>
311                <action android:name="android.settings.VOICE_INPUT_SETTINGS" />
312                <category android:name="android.intent.category.DEFAULT" />
313            </intent-filter>
314            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
315                       android:value="@string/hk_AssistantAndVoiceSettingsActivity" />
316            <meta-data android:name="distractionOptimized" android:value="true"/>
317        </activity>
318
319        <activity
320            android:name=".common.CarSettingActivities$SystemSettingsActivity"
321            android:windowSoftInputMode="adjustPan"
322            android:exported="true">
323            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
324                       android:value="@string/hk_SystemSettingsActivity" />
325            <meta-data android:name="distractionOptimized" android:value="true"/>
326        </activity>
327
328        <activity
329            android:name=".common.CarSettingActivities$WifiSettingsActivity"
330            android:windowSoftInputMode="adjustPan"
331            android:exported="true">
332            <intent-filter android:priority="100">
333                <action android:name="android.net.wifi.PICK_WIFI_NETWORK" />
334                <action android:name="android.settings.WIFI_SETTINGS" />
335                <action android:name="android.settings.panel.action.WIFI" />
336                <category android:name="android.intent.category.DEFAULT" />
337            </intent-filter>
338            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
339                       android:value="@string/hk_WifiSettingsActivity" />
340            <meta-data android:name="distractionOptimized" android:value="true"/>
341        </activity>
342
343        <activity
344            android:name=".common.CarSettingActivities$WifiTetherActivity"
345            android:windowSoftInputMode="adjustPan"
346            android:exported="true">
347            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
348                       android:value="@string/hk_WifiTetherActivity" />
349            <meta-data android:name="distractionOptimized" android:value="true"/>
350        </activity>
351
352        <activity
353            android:name=".common.CarSettingActivities$MobileNetworkActivity"
354            android:windowSoftInputMode="adjustPan"
355            android:exported="true">
356            <intent-filter android:priority="100">
357                <action android:name="android.settings.DATA_ROAMING_SETTINGS" />
358                <action android:name="android.settings.NETWORK_OPERATOR_SETTINGS" />
359                <action android:name="android.settings.DATA_USAGE_SETTINGS" />
360                <action android:name="android.settings.MOBILE_DATA_USAGE" />
361                <category android:name="android.intent.category.DEFAULT" />
362            </intent-filter>
363            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
364                       android:value="@string/hk_MobileNetworkActivity" />
365            <meta-data android:name="distractionOptimized" android:value="true"/>
366        </activity>
367
368        <activity
369            android:name=".common.CarSettingActivities$MobileNetworkListActivity"
370            android:windowSoftInputMode="adjustPan"
371            android:exported="true">
372            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
373                       android:value="@string/hk_MobileNetworkListActivity" />
374            <meta-data android:name="distractionOptimized" android:value="true"/>
375        </activity>
376
377        <activity
378            android:name=".common.CarSettingActivities$ApplicationsSettingsActivity"
379            android:windowSoftInputMode="adjustPan"
380            android:exported="true">
381            <intent-filter android:priority="1">
382                <action android:name="android.settings.MANAGE_APPLICATIONS_SETTINGS" />
383                <action android:name="android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS" />
384                <category android:name="android.intent.category.DEFAULT" />
385            </intent-filter>
386            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
387                       android:value="@string/hk_ApplicationsSettingsActivity" />
388            <meta-data android:name="distractionOptimized" android:value="true"/>
389        </activity>
390
391        <activity
392            android:name=".common.CarSettingActivities$SpecialAccessSettingsActivity"
393            android:windowSoftInputMode="adjustPan"
394            android:exported="true">
395            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
396                       android:value="@string/hk_SpecialAccessSettingsActivity" />
397            <meta-data android:name="distractionOptimized" android:value="true"/>
398        </activity>
399
400        <activity
401            android:name=".common.CarSettingActivities$LanguagesAndInputActivity"
402            android:windowSoftInputMode="adjustPan"
403            android:exported="true">
404            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
405                       android:value="@string/hk_LanguagesAndInputActivity" />
406            <meta-data android:name="distractionOptimized" android:value="true"/>
407        </activity>
408
409        <activity
410            android:name=".common.CarSettingActivities$AboutSettingsActivity"
411            android:windowSoftInputMode="adjustPan"
412            android:exported="true">
413            <intent-filter android:priority="100">
414                <action android:name="android.settings.DEVICE_INFO_SETTINGS" />
415                <action android:name="android.settings.DEVICE_NAME" />
416                <category android:name="android.intent.category.DEFAULT" />
417            </intent-filter>
418            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
419                       android:value="@string/hk_AboutSettingsActivity" />
420            <meta-data android:name="distractionOptimized" android:value="true"/>
421        </activity>
422
423        <activity
424            android:name=".common.CarSettingActivities$LegalInformationActivity"
425            android:windowSoftInputMode="adjustPan"
426            android:exported="true">
427            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
428                       android:value="@string/hk_LegalInformationActivity" />
429            <meta-data android:name="distractionOptimized" android:value="true"/>
430        </activity>
431
432        <activity
433            android:name=".common.CarSettingActivities$ResetOptionsActivity"
434            android:windowSoftInputMode="adjustPan"
435            android:exported="true">
436            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
437                       android:value="@string/hk_ResetOptionsActivity" />
438            <meta-data android:name="distractionOptimized" android:value="true"/>
439        </activity>
440
441        <activity
442            android:name=".common.CarSettingActivities$AddWifiActivity"
443            android:windowSoftInputMode="adjustPan"
444            android:exported="true">
445            <intent-filter android:priority="100">
446                <action android:name="android.settings.WIFI_ADD_NETWORKS" />
447                <category android:name="android.intent.category.DEFAULT" />
448            </intent-filter>
449            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
450                       android:value="@string/hk_AddWifiActivity" />
451            <meta-data android:name="distractionOptimized" android:value="true"/>
452        </activity>
453
454        <activity
455            android:name=".common.CarSettingActivities$WifiPreferencesActivity"
456            android:windowSoftInputMode="adjustPan"
457            android:exported="true">
458            <intent-filter android:priority="100">
459                <action android:name="android.settings.WIFI_IP_SETTINGS" />
460                <category android:name="android.intent.category.DEFAULT" />
461            </intent-filter>
462            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
463                       android:value="@string/hk_WifiPreferencesActivity" />
464            <meta-data android:name="distractionOptimized" android:value="true"/>
465        </activity>
466
467        <activity
468            android:name=".common.CarSettingActivities$ApplicationsDetailsActivity"
469            android:windowSoftInputMode="adjustPan"
470            android:exported="true">
471            <!-- The following intent actions are listed twice in order to support multiple ways to
472                provide the package name. -->
473            <!-- This intent filter expects to receive the package name via the data field.
474                 i.e. adb shell am start -a android.settings.APPLICATION_DETAILS_SETTINGS \
475                      -d "package:<package name>" -->
476            <intent-filter android:priority="100">
477                <action android:name="android.settings.APPLICATION_DETAILS_SETTINGS" />
478                <action android:name="android.settings.CHANNEL_NOTIFICATION_SETTINGS" />
479                <action android:name="android.settings.APP_NOTIFICATION_SETTINGS" />
480                <action android:name="android.intent.action.AUTO_REVOKE_PERMISSIONS" />
481                <data android:scheme="package" />
482                <category android:name="android.intent.category.DEFAULT" />
483            </intent-filter>
484
485            <!-- This intent filter expects to receive the package name via an extra string.
486                 i.e. adb shell am start -a android.settings.APPLICATION_DETAILS_SETTINGS
487                      -e "android.provider.extra.APP_PACKAGE" "<package name>" -->
488            <intent-filter android:priority="100">
489                <action android:name="android.settings.APPLICATION_DETAILS_SETTINGS" />
490                <action android:name="android.settings.CHANNEL_NOTIFICATION_SETTINGS" />
491                <action android:name="android.settings.APP_NOTIFICATION_SETTINGS" />
492                <action android:name="android.intent.action.AUTO_REVOKE_PERMISSIONS" />
493                <category android:name="android.intent.category.DEFAULT" />
494            </intent-filter>
495            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
496                       android:value="@string/hk_ApplicationsDetailsActivity" />
497            <meta-data android:name="distractionOptimized" android:value="true"/>
498        </activity>
499
500        <activity
501            android:name=".common.CarSettingActivities$ModifySystemSettingsActivity"
502            android:windowSoftInputMode="adjustPan"
503            android:exported="true">
504            <intent-filter android:priority="100">
505                <action android:name="android.settings.action.MANAGE_WRITE_SETTINGS" />
506                <category android:name="android.intent.category.DEFAULT" />
507            </intent-filter>
508            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
509                       android:value="@string/hk_ModifySystemSettingsActivity" />
510            <meta-data android:name="distractionOptimized" android:value="true"/>
511        </activity>
512
513        <activity
514            android:name=".common.CarSettingActivities$NotificationAccessActivity"
515            android:windowSoftInputMode="adjustPan"
516            android:exported="true">
517            <intent-filter android:priority="100">
518                <action android:name="android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS" />
519                <action android:name="android.settings.NOTIFICATION_LISTENER_DETAIL_SETTINGS" />
520                <category android:name="android.intent.category.DEFAULT" />
521            </intent-filter>
522            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
523                       android:value="@string/hk_NotificationAccessActivity" />
524            <meta-data android:name="distractionOptimized" android:value="true"/>
525        </activity>
526
527        <activity
528            android:name=".common.CarSettingActivities$PremiumSmsAccessActivity"
529            android:windowSoftInputMode="adjustPan"
530            android:exported="true">
531            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
532                       android:value="@string/hk_PremiumSmsAccessActivity" />
533            <meta-data android:name="distractionOptimized" android:value="true"/>
534        </activity>
535
536        <activity
537            android:name=".common.CarSettingActivities$UsageAccessActivity"
538            android:windowSoftInputMode="adjustPan"
539            android:exported="true">
540            <intent-filter android:priority="100">
541                <action android:name="android.settings.USAGE_ACCESS_SETTINGS" />
542                <category android:name="android.intent.category.DEFAULT" />
543            </intent-filter>
544            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
545                       android:value="@string/hk_UsageAccessActivity" />
546            <meta-data android:name="distractionOptimized" android:value="true"/>
547        </activity>
548
549        <activity
550            android:name=".common.CarSettingActivities$WifiControlActivity"
551            android:windowSoftInputMode="adjustPan"
552            android:exported="true">
553            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
554                       android:value="@string/hk_WifiControlActivity" />
555            <meta-data android:name="distractionOptimized" android:value="true"/>
556        </activity>
557
558        <activity
559            android:name=".common.CarSettingActivities$ChooseAccountActivity"
560            android:windowSoftInputMode="adjustPan"
561            android:exported="true">
562            <intent-filter android:priority="100">
563                <action android:name="android.settings.ADD_ACCOUNT_SETTINGS" />
564                <category android:name="android.intent.category.DEFAULT" />
565            </intent-filter>
566            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
567                       android:value="@string/hk_ChooseAccountActivity" />
568            <meta-data android:name="distractionOptimized" android:value="true"/>
569        </activity>
570
571        <activity
572            android:name=".common.CarSettingActivities$LanguagePickerActivity"
573            android:windowSoftInputMode="adjustPan"
574            android:exported="true">
575            <intent-filter android:priority="100">
576                <action android:name="android.settings.LOCALE_SETTINGS" />
577                <category android:name="android.intent.category.DEFAULT"/>
578            </intent-filter>
579            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
580                       android:value="@string/hk_LanguagePickerActivity" />
581            <meta-data android:name="distractionOptimized" android:value="true"/>
582        </activity>
583
584        <activity
585            android:name=".common.CarSettingActivities$DefaultAutofillPickerActivity"
586            android:windowSoftInputMode="adjustPan"
587            android:exported="true">
588            <intent-filter android:priority="100">
589                <action android:name="android.settings.REQUEST_SET_AUTOFILL_SERVICE" />
590                <category android:name="android.intent.category.DEFAULT" />
591                <data android:scheme="package" />
592            </intent-filter>
593            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
594                       android:value="@string/hk_DefaultAutofillPickerActivity" />
595            <meta-data android:name="distractionOptimized" android:value="true"/>
596        </activity>
597
598        <activity
599            android:name=".common.CarSettingActivities$KeyboardActivity"
600            android:windowSoftInputMode="adjustPan"
601            android:exported="true">
602            <intent-filter android:priority="100">
603                <action android:name="android.settings.INPUT_METHOD_SETTINGS" />
604                <category android:name="android.intent.category.DEFAULT"/>
605            </intent-filter>
606            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
607                       android:value="@string/hk_KeyboardActivity" />
608            <meta-data android:name="distractionOptimized" android:value="true"/>
609        </activity>
610
611        <activity
612            android:name=".common.CarSettingActivities$TextToSpeechOutputActivity"
613            android:windowSoftInputMode="adjustPan"
614            android:exported="true">
615            <intent-filter android:priority="1">
616                <action android:name="com.android.settings.TTS_SETTINGS" />
617                <category android:name="android.intent.category.DEFAULT" />
618            </intent-filter>
619            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
620                       android:value="@string/hk_TextToSpeechOutputActivity" />
621            <meta-data android:name="distractionOptimized" android:value="true"/>
622        </activity>
623
624        <!-- Aliases for launcher activity only, as this belongs to each profile. -->
625        <activity-alias
626            android:name="Settings_Launcher_Homepage"
627            android:label="@string/settings_label"
628            android:launchMode="singleTask"
629            android:exported="true"
630            android:finishOnTaskLaunch="true"
631            android:targetActivity=".common.CarSettingActivities$HomepageActivity"
632            android:enabled="@bool/config_enable_home_settings_icon">
633            <intent-filter android:priority="1">
634                <action android:name="android.intent.action.MAIN" />
635                <category android:name="android.intent.category.DEFAULT" />
636                <category android:name="android.intent.category.LAUNCHER" />
637            </intent-filter>
638            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
639                       android:value="@string/hk_HomepageActivity" />
640            <meta-data android:name="distractionOptimized" android:value="true"/>
641        </activity-alias>
642
643        <activity-alias
644            android:name="Settings_Launcher_QuickSetting"
645            android:label="@string/settings_label"
646            android:launchMode="singleInstance"
647            android:exported="true"
648            android:finishOnTaskLaunch="true"
649            android:targetActivity=".common.CarSettingActivities$QuickSettingActivity"
650            android:enabled="@bool/config_enable_quick_settings_icon">
651            <intent-filter android:priority="1">
652                <action android:name="android.intent.action.MAIN" />
653                <category android:name="android.intent.category.DEFAULT" />
654                <category android:name="android.intent.category.LAUNCHER" />
655            </intent-filter>
656            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
657            <meta-data android:name="distractionOptimized" android:value="true"/>
658        </activity-alias>
659
660        <activity android:name=".enterprise.RemoteRequestBugreportActivity"
661            android:excludeFromRecents="true"
662            android:exported="true"
663            android:permission="android.permission.DUMP">
664            <intent-filter>
665                <action android:name="android.settings.SHOW_REMOTE_BUGREPORT_DIALOG" />
666                <category android:name="android.intent.category.DEFAULT" />
667            </intent-filter>
668        </activity>
669
670        <activity
671            android:name=".bluetooth.BluetoothPairingDialog"
672            android:excludeFromRecents="true"
673            android:windowSoftInputMode="stateVisible|adjustResize"
674            android:taskAffinity="car.settings.bluetooth"
675            android:launchMode="singleTask"
676            android:theme="@style/ActionDialogTheme">
677            <meta-data android:name="distractionOptimized" android:value="true"/>
678        </activity>
679
680        <activity
681            android:name=".bluetooth.BluetoothDevicePickerActivity"
682            android:label="@string/bluetooth_device_picker"
683            android:configChanges="orientation|keyboardHidden|screenSize"
684            android:exported="true"
685            android:clearTaskOnLaunch="true">
686            <intent-filter>
687                <action android:name="android.bluetooth.devicepicker.action.LAUNCH" />
688                <category android:name="android.intent.category.DEFAULT" />
689            </intent-filter>
690            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
691                       android:value="@string/hk_BluetoothDevicePickerActivity" />
692        </activity>
693
694        <activity
695            android:name=".bluetooth.BluetoothRequestPermissionActivity"
696            android:theme="@style/ActionDialogTheme"
697            android:excludeFromRecents="true"
698            android:clearTaskOnLaunch="true"
699            android:exported="true"
700            android:launchMode="singleInstance">
701            <intent-filter>
702                <action android:name="android.bluetooth.adapter.action.REQUEST_DISCOVERABLE" />
703                <action android:name="android.bluetooth.adapter.action.REQUEST_ENABLE" />
704                <action android:name="android.bluetooth.adapter.action.REQUEST_DISABLE" />
705                <category android:name="android.intent.category.DEFAULT" />
706            </intent-filter>
707        </activity>
708
709        <activity
710            android:name=".accounts.AddAccountActivity"
711            android:theme="@android:style/Theme.Translucent.NoTitleBar"
712            android:configChanges="orientation|keyboardHidden|screenSize"/>
713
714        <activity
715            android:name=".applications.managedomainurls.ManageDomainUrlsActivity"
716            android:configChanges="orientation|keyboardHidden|screenSize"
717            android:windowSoftInputMode="adjustResize"
718            android:exported="true">
719            <intent-filter>
720                <action android:name="android.settings.MANAGE_DOMAIN_URLS" />
721                <category android:name="android.intent.category.DEFAULT" />
722            </intent-filter>
723            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
724            <meta-data android:name="distractionOptimized" android:value="true"/>
725        </activity>
726
727        <activity
728            android:name=".security.SettingsScreenLockActivity"
729            android:configChanges="orientation|keyboardHidden|screenSize"
730            android:exported="true"
731            android:windowSoftInputMode="adjustResize">
732            <intent-filter>
733                <action android:name="android.app.action.SET_NEW_PASSWORD" />
734                <action android:name="android.car.settings.SCREEN_LOCK_ACTIVITY" />
735                <category android:name="android.intent.category.DEFAULT" />
736            </intent-filter>
737            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
738            <meta-data android:name="distractionOptimized" android:value="true"/>
739        </activity>
740
741        <activity
742            android:name=".security.CheckLockActivity"
743            android:configChanges="orientation|keyboardHidden|screenSize"
744            android:exported="true"
745            android:windowSoftInputMode="adjustResize">
746            <intent-filter>
747                <action android:name="android.app.action.CONFIRM_DEVICE_CREDENTIAL" />
748                <action android:name="android.app.action.CONFIRM_FRP_CREDENTIAL" />
749                <category android:name="android.intent.category.DEFAULT" />
750            </intent-filter>
751            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
752        </activity>
753
754        <activity
755            android:name=".security.VerifyLockChangeActivity"
756            android:configChanges="orientation|keyboardHidden|screenSize"
757            android:exported="false"
758            android:windowSoftInputMode="adjustResize">
759            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
760            <meta-data android:name="distractionOptimized" android:value="true"/>
761        </activity>
762
763        <activity
764            android:name=".security.ChooseLockPatternActivity"
765            android:windowSoftInputMode="adjustPan"
766            android:noHistory="true"
767            android:exported="false">
768            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
769        </activity>
770
771        <activity
772            android:name=".security.ChooseLockPinActivity"
773            android:windowSoftInputMode="adjustPan"
774            android:noHistory="true"
775            android:exported="false">
776            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
777        </activity>
778
779        <activity
780            android:name=".security.ChooseLockPasswordActivity"
781            android:windowSoftInputMode="adjustResize"
782            android:noHistory="true"
783            android:exported="false">
784            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
785        </activity>
786
787        <activity
788            android:name=".profiles.ProfileSwitcherActivity"
789            android:configChanges="orientation|keyboardHidden|screenSize"
790            android:windowSoftInputMode="adjustResize"
791            android:exported="true">
792            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
793        </activity>
794
795        <activity
796            android:name=".security.CredentialStorageActivity"
797            android:theme="@style/ActionDialogTheme"
798            android:launchMode="singleTop"
799            android:exported="true"
800            android:configChanges="orientation|keyboardHidden|screenSize">
801            <intent-filter android:priority="1">
802                <action android:name="com.android.credentials.INSTALL" />
803                <action android:name="com.android.credentials.RESET" />
804                <category android:name="android.intent.category.DEFAULT" />
805            </intent-filter>
806        </activity>
807
808        <activity
809            android:name=".system.ThirdPartyLicensesActivity"
810            android:label="@string/settings_license_activity_title"
811            android:configChanges="orientation|keyboardHidden|screenSize"
812            android:exported="true"
813            android:windowSoftInputMode="adjustResize">
814            <intent-filter>
815                <action android:name="android.settings.THIRD_PARTY_LICENSE" />
816                <category android:name="android.intent.category.DEFAULT" />
817            </intent-filter>
818        </activity>
819
820        <activity
821            android:name=".system.RegulatoryInfoDisplayActivity"
822            android:label="@string/regulatory_labels"
823            android:exported="true"
824            android:enabled="@bool/config_show_regulatory_info">
825            <intent-filter>
826                <action android:name="android.settings.SHOW_REGULATORY_INFO" />
827                <category android:name="android.intent.category.DEFAULT" />
828            </intent-filter>
829        </activity>
830
831        <activity
832            android:name=".datausage.DataWarningAndLimitActivity"
833            android:configChanges="orientation|keyboardHidden|screenSize"
834            android:windowSoftInputMode="adjustResize"
835            android:exported="true">
836            <meta-data android:name="distractionOptimized" android:value="true"/>
837            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
838                       android:value="@string/hk_DataWarningAndLimitActivity" />
839        </activity>
840
841        <activity
842            android:name=".wifi.WifiRequestToggleActivity"
843            android:theme="@style/ActionDialogTheme"
844            android:excludeFromRecents="true"
845            android:clearTaskOnLaunch="true"
846            android:exported="true"
847            android:launchMode="singleInstance">
848            <intent-filter>
849                <action android:name="android.net.wifi.action.REQUEST_ENABLE" />
850                <action android:name="android.net.wifi.action.REQUEST_DISABLE" />
851                <category android:name="android.intent.category.DEFAULT" />
852            </intent-filter>
853        </activity>
854
855        <!-- This is used internally for CTS tests and should not be used in generally. -->
856        <activity android:name=".wifi.networkrequest.NetworkRequestDialogActivity"
857                  android:excludeFromRecents="true"
858                  android:exported="true"
859                  android:launchMode="singleTop"
860                  android:permission="android.permission.NETWORK_SETTINGS"
861                  android:taskAffinity=".wifi.networkrequest.NetworkRequestDialogActivity"
862                  android:theme="@style/ActionDialogTheme">
863            <intent-filter>
864                <action android:name="com.android.settings.wifi.action.NETWORK_REQUEST"/>
865                <category android:name="android.intent.category.DEFAULT"/>
866            </intent-filter>
867        </activity>
868
869        <!-- This logic is copied from phone.-->
870        <!-- Ensures there's lightweight fallback activity when no other MAIN/HOME activity is present.-->
871        <activity
872            android:name=".FallbackHome"
873            android:excludeFromRecents="true"
874            android:label=""
875            android:screenOrientation="nosensor"
876            android:exported="true"
877            android:theme="@style/FallbackHome">
878            <intent-filter android:priority="-900">
879                <action android:name="android.intent.action.MAIN" />
880                <category android:name="android.intent.category.HOME" />
881                <category android:name="android.intent.category.DEFAULT" />
882            </intent-filter>
883            <meta-data android:name="distractionOptimized" android:value="true"/>
884        </activity>
885
886        <activity
887            android:name=".enterprise.DeviceAdminAddActivity"
888            android:exported="true">
889            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
890            <meta-data android:name="distractionOptimized" android:value="true"/>
891            <intent-filter>
892                <action android:name="android.app.action.ADD_DEVICE_ADMIN" />
893                <category android:name="android.intent.category.DEFAULT" />
894            </intent-filter>
895        </activity>
896
897        <activity
898            android:name=".enterprise.EnterprisePrivacySettingsActivity"
899            android:exported="true">
900            <meta-data android:name="com.android.car.settings.SINGLE_PANE" android:value="true"/>
901            <meta-data android:name="distractionOptimized" android:value="true"/>
902            <intent-filter>
903                <action android:name="android.settings.ENTERPRISE_PRIVACY_SETTINGS" />
904                <category android:name="android.intent.category.DEFAULT" />
905            </intent-filter>
906        </activity>
907
908        <activity android:name=".notifications.NotificationAccessConfirmationActivity"
909            android:exported="true"
910            android:taskAffinity="com.android.car.settings.notifications.NotificationAccessConfirmationActivity"
911            android:theme="@style/ActionDialogTheme"
912            />
913
914        <activity android:name=".enterprise.ActionDisabledByAdminActivity"
915                android:theme="@style/ActionDialogTheme"
916                android:taskAffinity=".enterprise"
917                android:excludeFromRecents="true"
918                android:exported="true">
919            <intent-filter android:priority="1">
920                <action android:name="android.settings.SHOW_ADMIN_SUPPORT_DETAILS" />
921                <category android:name="android.intent.category.DEFAULT" />
922            </intent-filter>
923        </activity>
924
925        <activity
926            android:name=".common.CarSettingActivities$AccessibilityActivity"
927            android:configChanges="orientation|keyboardHidden|screenSize"
928            android:windowSoftInputMode="adjustResize"
929            android:exported="true">
930            <intent-filter>
931                <action android:name="android.settings.ACCESSIBILITY_SETTINGS" />
932                <category android:name="android.intent.category.DEFAULT" />
933            </intent-filter>
934            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
935                       android:value="@string/hk_AccessibilitySettingsActivity" />
936            <meta-data android:name="distractionOptimized" android:value="true"/>
937        </activity>
938
939        <activity
940            android:name=".common.CarSettingActivities$CaptionsActivity"
941            android:configChanges="orientation|keyboardHidden|screenSize"
942            android:windowSoftInputMode="adjustPan"
943            android:exported="true">
944            <intent-filter>
945                <action android:name="android.settings.CAPTIONING_SETTINGS" />
946                <category android:name="android.intent.category.DEFAULT" />
947            </intent-filter>
948            <meta-data android:name="com.android.car.settings.TOP_LEVEL_HEADER_KEY"
949                       android:value="@string/hk_CaptionsSettingsActivity" />
950            <meta-data android:name="distractionOptimized" android:value="true"/>
951        </activity>
952
953        <service android:name=".bluetooth.BluetoothPairingService" />
954
955        <service android:name=".setupservice.InitialLockSetupService"
956                 android:exported="true"
957                 android:permission="com.android.car.settings.SET_INITIAL_LOCK"/>
958
959        <receiver android:name=".bluetooth.BluetoothPairingRequest"
960            android:exported="true">
961            <intent-filter>
962                <action android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
963            </intent-filter>
964        </receiver>
965
966        <!-- Exported for SystemUI to trigger -->
967        <receiver android:name=".storage.StorageUnmountReceiver"
968                  android:exported="true"
969                  android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
970
971        <!-- FileProvider to share a generated license html file.
972             Note that "com.android.settings.files" is set here as its authorities because a Uri
973             permission grant should be allowed to share a file with an external browser but it is
974             allowed only for Settings' authorities in ActivityManagerService.  -->
975        <provider android:name="androidx.core.content.FileProvider"
976                  android:authorities="com.android.settings.files"
977                  android:grantUriPermissions="true"
978                  android:exported="false">
979            <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
980                       android:resource="@xml/file_paths" />
981        </provider>
982
983        <provider
984            android:name=".search.CarSettingsSearchIndexablesProvider"
985            android:authorities="com.android.car.settings"
986            android:multiprocess="false"
987            android:grantUriPermissions="true"
988            android:permission="android.permission.READ_SEARCH_INDEXABLES"
989            android:exported="true">
990            <intent-filter>
991                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
992            </intent-filter>
993        </provider>
994
995        <provider android:name=".qc.SettingsQCProvider"
996                  android:authorities="com.android.car.settings.qc"
997                  android:grantUriPermissions="true"
998                  android:exported="true">
999        </provider>
1000
1001        <!-- For security purposes, only intents created by the CarSettings application should be
1002        able to call this receiver. Therefore, it should not be exported. -->
1003        <receiver
1004            android:name=".qc.SettingsQCBroadcastReceiver"
1005            android:exported="false">
1006        </receiver>
1007
1008    </application>
1009</manifest>
1010