1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2019 The Android Open Source Project
4  ~
5  ~ Licensed under the Apache License, Version 2.0 (the "License");
6  ~ you may not use this file except in compliance with the License.
7  ~ You may obtain a copy of the License at
8  ~
9  ~      http://www.apache.org/licenses/LICENSE-2.0
10  ~
11  ~ Unless required by applicable law or agreed to in writing, software
12  ~ distributed under the License is distributed on an "AS IS" BASIS,
13  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  ~ See the License for the specific language governing permissions and
15  ~ limitations under the License
16  -->
17
18<manifest
19    android:sharedUserId="android.uid.system"
20    android:versionCode="1"
21    android:versionName="1.0"
22    package="com.android.tv.settings"
23    xmlns:android="http://schemas.android.com/apk/res/android"
24    xmlns:tools="http://schemas.android.com/tools">
25
26    <uses-sdk android:minSdkVersion="34"
27        tools:overrideLibrary="com.android.tv.settings.library"/>
28
29    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
30    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
31    <uses-permission android:name="android.permission.BACKUP"/>
32    <uses-permission android:name="android.permission.BLUETOOTH"/>
33    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
34    <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED"/>
35    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
36    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA"/>
37    <uses-permission android:name="android.permission.DELETE_CACHE_FILES"/>
38    <uses-permission android:name="android.permission.DUMP"/>
39    <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/>
40    <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
41    <uses-permission android:name="android.permission.GET_PACKAGE_SIZE"/>
42    <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>
43    <uses-permission android:name="android.permission.INJECT_EVENTS"/>
44    <uses-permission android:name="android.permission.INTERNET"/>
45    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
46    <uses-permission android:name="android.permission.MANAGE_DEBUGGING"/>
47    <uses-permission android:name="android.permission.MANAGE_SENSOR_PRIVACY"/>
48    <uses-permission android:name="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS"/>
49    <uses-permission android:name="android.permission.MANAGE_USERS"/>
50    <uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"/>
51    <uses-permission android:name="android.permission.READ_PROFILE"/>
52    <uses-permission android:name="android.permission.NETWORK_SETTINGS"/>
53    <uses-permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY"/>
54    <uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"/>
55    <uses-permission android:name="android.permission.PEERS_MAC_ADDRESS"/>
56    <uses-permission android:name="android.permission.READ_CONTACTS"/>
57    <uses-permission android:name="android.permission.REBOOT"/>
58    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
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.SET_PREFERRED_APPLICATIONS"/>
62    <uses-permission android:name="android.permission.SUGGEST_MANUAL_TIME_AND_ZONE"/>
63    <uses-permission android:name="android.permission.SET_TIME"/>
64    <uses-permission android:name="android.permission.SET_TIME_ZONE"/>
65    <uses-permission android:name="android.permission.USE_RESERVED_DISK"/>
66    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE"/>
67    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
68    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
69    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
70    <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES"/>
71    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
72    <uses-permission android:name="com.google.android.assistant.READ_HOTWORD_STATE"/>
73    <uses-permission android:name="com.google.android.assistant.WRITE_HOTWORD_STATE"/>
74    <uses-permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS"/>
75    <uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
76    <uses-permission android:name="android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS"/>
77    <uses-permission android:name="android.permission.THREAD_NETWORK_PRIVILEGED"/>
78
79    <!-- Permissions for reading network change related data. -->
80    <permission
81        android:name="com.android.settings.connectivity.READ_NETWORK_CHANGE_DATA"
82        android:protectionLevel="signature|preinstalled" />
83
84    <application
85         android:name=".TvSettingsApplication"
86         android:allowClearUserData="false"
87         android:banner="@drawable/ic_launcher_banner_settings"
88         android:defaultToDeviceProtectedStorage="true"
89         android:directBootAware="true"
90         android:forceQueryable="true"
91         android:icon="@drawable/logo_settings_color_48dp"
92         android:label="@string/settings_app_name"
93         android:supportsRtl="true"
94         android:theme="@style/Theme.Settings"
95         android:usesCleartextTraffic="true">
96
97        <activity
98            android:name=".MainSettings"
99            android:configChanges="keyboard|keyboardHidden|navigation"
100            android:excludeFromRecents="true"
101            android:exported="true"
102            android:label="@string/settings_app_name"
103            android:theme="@style/TvSettingsActivityTheme">
104            <intent-filter android:priority="1">
105                <action android:name="android.intent.action.MAIN"/>
106                <action android:name="android.settings.SETTINGS"/>
107                <category android:name="android.intent.category.DEFAULT"/>
108            </intent-filter>
109            <!-- Intent filter used to display this activity as a settings entry point in the
110                 LeanbackLauncher -->
111            <intent-filter android:icon="@drawable/ic_settings_launcher_icon"
112                 android:label="@string/launcher_settings_app_name"
113                 android:priority="3">
114                <action android:name="android.intent.action.MAIN"/>
115                <category android:name="android.intent.category.LEANBACK_SETTINGS"/>
116            </intent-filter>
117            <!-- Intent filter used to display this activity as a settings entry point in the
118                 LeanbackLauncher -->
119            <intent-filter android:icon="@drawable/ic_settings_launcher_icon"
120                 android:label="@string/launcher_settings_app_name"
121                 android:priority="3">
122                <action android:name="android.intent.action.MAIN"/>
123                <category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
124            </intent-filter>
125        </activity>
126
127        <!-- WifiSetupActivity may be (usually is) started from setup so theme is determined at
128             runtime. -->
129        <activity-alias
130            android:name=".connectivity.setup.WifiSetupActivity"
131            android:clearTaskOnLaunch="true"
132            android:configChanges="keyboard|keyboardHidden|navigation"
133            android:excludeFromRecents="true"
134            android:exported="true"
135            android:theme="@style/TvSettingsActivityTheme"
136            android:targetActivity=".connectivity.NetworkActivity">
137            <intent-filter>
138                <action android:name="android.intent.action.MAIN"/>
139                <action android:name="com.android.net.wifi.SETUP_WIFI_NETWORK"/>
140                <!-- TODO remove custom action when stop including /packages/apps/Settings -->
141                <action android:name="com.android.net.wifi.CANVAS_SETUP_WIFI_NETWORK"/>
142                <category android:name="android.intent.category.DEFAULT"/>
143            </intent-filter>
144            <!-- Enabling this <intent-filter> will signal to Setup that WifiSetupActivity will
145                 handle network connectivity (in that case Setup will launch us to handle network
146                 duty).
147            <intent-filter>
148                <action android:name="com.android.net.GET_CONNECTED" />
149                <category android:name="android.intent.category.DEFAULT" />
150            </intent-filter>
151            -->
152        </activity-alias>
153
154        <activity
155            android:name=".connectivity.NetworkRequestDialogActivity"
156            android:theme="@style/Transparent"
157            android:excludeFromRecents="true"
158            android:launchMode="singleTop"
159            android:taskAffinity=".connectivity.NetworkRequestDialogActivity"
160            android:exported="true"
161            android:permission="android.permission.NETWORK_SETTINGS">
162            <intent-filter>
163                <action android:name="com.android.settings.wifi.action.NETWORK_REQUEST"/>
164                <category android:name="android.intent.category.DEFAULT"/>
165            </intent-filter>
166        </activity>
167
168        <activity
169            android:name=".connectivity.WifiConnectionActivity"
170            android:clearTaskOnLaunch="true"
171            android:configChanges="keyboard|keyboardHidden|navigation"
172            android:excludeFromRecents="true"
173            android:exported="true"
174            android:permission="android.permission.NETWORK_SETTINGS"
175            android:theme="@style/Theme.SettingsConnectivity" >
176            <intent-filter>
177                <action android:name="com.android.settings.wifi.action.WIFI_CONNECTION_SETTINGS"/>
178                <category android:name="android.intent.category.DEFAULT"/>
179            </intent-filter>
180        </activity>
181
182        <activity
183            android:name=".connectivity.EditProxySettingsActivity"
184            android:clearTaskOnLaunch="true"
185            android:configChanges="keyboard|keyboardHidden|navigation"
186            android:excludeFromRecents="true"
187            android:exported="true"
188            android:theme="@style/Theme.SettingsConnectivity">
189            <intent-filter>
190                <action android:name="com.android.settings.wifi.action.EDIT_PROXY_SETTINGS"/>
191                <category android:name="android.intent.category.DEFAULT"/>
192            </intent-filter>
193        </activity>
194
195        <activity
196            android:name=".connectivity.EditIpSettingsActivity"
197            android:clearTaskOnLaunch="true"
198            android:configChanges="keyboard|keyboardHidden|navigation"
199            android:excludeFromRecents="true"
200            android:exported="true"
201            android:theme="@style/Theme.SettingsConnectivity">
202            <intent-filter>
203                <action android:name="com.android.settings.wifi.action.EDIT_IP_SETTINGS"/>
204                <category android:name="android.intent.category.DEFAULT"/>
205            </intent-filter>
206        </activity>
207
208        <activity
209            android:name=".connectivity.AddWifiNetworkActivity"
210            android:clearTaskOnLaunch="true"
211            android:configChanges="keyboard|keyboardHidden|navigation"
212            android:excludeFromRecents="true"
213            android:exported="true"
214            android:theme="@style/Theme.SettingsConnectivity">
215            <intent-filter>
216                <action android:name="com.android.settings.wifi.action.ADD_WIFI_NETWORK"/>
217                <category android:name="android.intent.category.DEFAULT"/>
218            </intent-filter>
219        </activity>
220
221        <!-- The other application needs to define the similar custom permission in its manifest
222        to be able to READ network change data -->
223        <provider
224            android:name=".connectivity.NetworkChangeContentProvider"
225            android:authorities="com.android.settings.connectivity.networkchangedetection"
226            android:exported="true"
227            android:readPermission="com.android.settings.connectivity.READ_NETWORK_CHANGE_DATA" >
228        </provider>
229
230        <!-- AccountSliceActivity is just here to facilitate the activity-alias below to eliminate
231             the risk of repackaging. -->
232        <activity
233            android:name=".accounts.AccountSliceActivity"
234            android:configChanges="keyboard|keyboardHidden|navigation"
235            android:excludeFromRecents="true"
236            android:theme="@style/TvSettingsActivityTheme"
237            android:exported="false" />
238
239        <activity
240            android:name=".accounts.AccountsActivity"
241            android:configChanges="keyboard|keyboardHidden|navigation"
242            android:excludeFromRecents="true"
243            android:exported="false"
244            android:theme="@style/TvSettingsActivityTheme" />
245
246        <activity
247            android:name=".accounts.AccountsTrampolineActivity"
248            android:excludeFromRecents="true"
249            android:enabled="true"
250            android:launchMode="singleInstance"
251            android:theme="@style/TvSettingsActivityTheme"
252            android:exported="false" />
253
254        <activity-alias
255            android:name="com.google.android.tv.settings.AccountActivity"
256            android:targetActivity=".accounts.AccountsTrampolineActivity"
257            android:exported="true">
258            <intent-filter android:priority="1">
259                <action android:name="android.settings.USER_SETTINGS"/>
260                <category android:name="android.intent.category.DEFAULT"/>
261            </intent-filter>
262            <intent-filter android:priority="1">
263                <action android:name="android.intent.action.MAIN"/>
264                <action android:name="android.settings.ACCOUNT_SYNC_SETTINGS"/>
265                <action android:name="android.settings.SYNC_SETTINGS"/>
266                <category android:name="android.intent.category.DEFAULT"/>
267            </intent-filter>
268        </activity-alias>
269
270        <activity
271            android:name=".accounts.AccountSyncActivity"
272            android:configChanges="keyboard|keyboardHidden|navigation"
273            android:excludeFromRecents="true"
274            android:exported="true"
275            android:theme="@style/TvSettingsActivityTheme">
276        </activity>
277
278        <!-- ManageUserServicesSliceActivity is just here to facilitate the activity-alias below to
279             eliminate the risk of repackaging. -->
280        <activity
281            android:name=".accounts.ManageUserServicesSliceActivity"
282            android:configChanges="keyboard|keyboardHidden|navigation"
283            android:excludeFromRecents="true"
284            android:theme="@style/TvSettingsActivityTheme"
285            android:exported="false" />
286
287        <activity-alias
288            android:name="com.google.android.tv.settings.ManageUserServicesActivity"
289            android:targetActivity=".accounts.ManageUserServicesSliceActivity"
290            android:exported="true" >
291            <intent-filter android:priority="1">
292                <action android:name="android.settings.MANAGE_USER_SERVICES_SETTINGS"/>
293                <category android:name="android.intent.category.DEFAULT"/>
294            </intent-filter>
295        </activity-alias>
296
297        <activity
298            android:name=".accounts.RemoveAccountDialog"
299            android:configChanges="keyboard|keyboardHidden|navigation"
300            android:excludeFromRecents="true"
301            android:exported="true" />
302
303        <activity
304            android:name=".accounts.AddAccountWithTypeActivity"
305            android:excludeFromRecents="true"
306            android:exported="true">
307            <intent-filter>
308                <action android:name="android.settings.ADD_ACCOUNT_SETTINGS"/>
309                <category android:name="android.intent.category.DEFAULT"/>
310            </intent-filter>
311        </activity>
312
313        <activity
314            android:name=".device.apps.AppsActivity"
315            android:configChanges="keyboard|keyboardHidden|navigation"
316            android:excludeFromRecents="true"
317            android:exported="true"
318            android:theme="@style/TvSettingsActivityTheme">
319            <intent-filter>
320                <action android:name="android.intent.action.MAIN"/>
321                <action android:name="android.settings.APPLICATION_SETTINGS"/>
322                <action android:name="android.settings.MANAGE_APPLICATIONS_SETTINGS"/>
323                <category android:name="android.intent.category.DEFAULT"/>
324                <category android:name="android.intent.category.VOICE_LAUNCH"/>
325                <category android:name="com.android.settings.SHORTCUT"/>
326            </intent-filter>
327        </activity>
328
329        <activity
330            android:name=".device.apps.AllAppsActivity"
331            android:configChanges="keyboard|keyboardHidden|navigation"
332            android:excludeFromRecents="true"
333            android:exported="true"
334            android:theme="@style/TvSettingsActivityTheme">
335            <intent-filter>
336                <action android:name="android.intent.action.MAIN"/>
337                <action android:name="android.settings.APPLICATION_SETTINGS"/>
338                <action android:name="android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS"/>
339                <category android:name="android.intent.category.DEFAULT"/>
340                <category android:name="android.intent.category.VOICE_LAUNCH"/>
341                <category android:name="com.android.settings.SHORTCUT"/>
342            </intent-filter>
343        </activity>
344
345        <activity
346            android:name=".device.apps.specialaccess.AllFilesAccessActivity"
347            android:excludeFromRecents="true"
348            android:exported="true"
349            android:taskAffinity=""
350            android:theme="@style/TvSettingsActivityTheme">
351            <intent-filter android:priority="1">
352                <category android:name="android.intent.category.DEFAULT"/>
353                <action android:name="android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION"/>
354                <data android:scheme="package" />
355            </intent-filter>
356        </activity>
357
358        <activity
359            android:name=".device.apps.specialaccess.AppUsageAccessActivity"
360            android:excludeFromRecents="true"
361            android:exported="true"
362            android:taskAffinity=""
363            android:theme="@style/TvSettingsActivityTheme">
364            <intent-filter android:priority="1">
365                <category android:name="android.intent.category.DEFAULT"/>
366                <action android:name="android.settings.USAGE_ACCESS_SETTINGS"/>
367            </intent-filter>
368        </activity>
369
370        <activity
371            android:name=".device.apps.specialaccess.PictureInPictureActivity"
372            android:excludeFromRecents="true"
373            android:exported="true"
374            android:taskAffinity=""
375            android:theme="@style/TvSettingsActivityTheme">
376            <intent-filter android:priority="1">
377                <category android:name="android.intent.category.DEFAULT"/>
378                <action android:name="android.settings.PICTURE_IN_PICTURE_SETTINGS"/>
379            </intent-filter>
380        </activity>
381
382        <activity
383            android:name=".device.apps.specialaccess.SystemAlertActivity"
384            android:theme="@style/TvSettingsActivityTheme"
385            android:taskAffinity=""
386            android:excludeFromRecents="true"
387            android:exported="true">
388            <intent-filter android:priority="1">
389                <category android:name="android.intent.category.DEFAULT"/>
390                <action android:name="android.settings.action.MANAGE_OVERLAY_PERMISSION"/>
391            </intent-filter>
392            <intent-filter android:priority="1">
393                <category android:name="android.intent.category.DEFAULT" />
394                <action android:name="android.settings.action.MANAGE_OVERLAY_PERMISSION" />
395                <data android:scheme="package" />
396            </intent-filter>
397        </activity>
398
399        <activity
400            android:name=".device.apps.specialaccess.AlarmsAndRemindersActivity"
401            android:theme="@style/TvSettingsActivityTheme"
402            android:taskAffinity=""
403            android:excludeFromRecents="true"
404            android:exported="true">
405            <intent-filter android:priority="1">
406                <category android:name="android.intent.category.DEFAULT" />
407                <action android:name="android.settings.REQUEST_SCHEDULE_EXACT_ALARM" />
408            </intent-filter>
409            <intent-filter android:priority="1">
410                <category android:name="android.intent.category.DEFAULT" />
411                <action android:name="android.settings.REQUEST_SCHEDULE_EXACT_ALARM" />
412                <data android:scheme="package" />
413            </intent-filter>
414        </activity>
415
416        <activity
417            android:name=".device.apps.AppManagementActivity"
418            android:configChanges="keyboard|keyboardHidden|navigation"
419            android:excludeFromRecents="true"
420            android:exported="true"
421            android:theme="@style/TvSettingsActivityTheme">
422            <intent-filter android:priority="1">
423                <action android:name="android.intent.action.AUTO_REVOKE_PERMISSIONS" />
424                <action android:name="android.settings.APPLICATION_DETAILS_SETTINGS"/>
425                <category android:name="android.intent.category.DEFAULT"/>
426                <data android:scheme="package"/>
427            </intent-filter>
428        </activity>
429
430        <activity
431            android:name=".device.StorageResetActivity"
432            android:configChanges="keyboard|keyboardHidden|navigation"
433            android:excludeFromRecents="true"
434            android:exported="true"
435            android:theme="@style/TvSettingsActivityTheme">
436            <intent-filter android:priority="1">
437                <action android:name="android.settings.INTERNAL_STORAGE_SETTINGS"/>
438                <action android:name="android.settings.MEMORY_CARD_SETTINGS"/>
439                <category android:name="android.intent.category.DEFAULT"/>
440            </intent-filter>
441            <intent-filter>
442                <action android:name="android.intent.action.MAIN"/>
443                <category android:name="android.intent.category.DEFAULT"/>
444                <action android:name="android.intent.action.MANAGE_PACKAGE_STORAGE"/>
445                <action android:name="android.os.storage.action.MANAGE_STORAGE"/>
446            </intent-filter>
447        </activity>
448
449        <activity android:name=".device.storage.ResetActivity"
450            android:theme="@style/Theme.Reset"
451            android:configChanges="keyboard|keyboardHidden|navigation"
452            android:excludeFromRecents="true" />
453        <activity
454            android:name=".connectivity.NetworkActivity"
455            android:configChanges="keyboard|keyboardHidden|navigation"
456            android:excludeFromRecents="true"
457            android:exported="true"
458            android:theme="@style/TvSettingsActivityTheme">
459            <!-- Intent filter used to display this activity as a settings entry point in the
460                 LeanbackLauncher -->
461            <intent-filter android:icon="@drawable/ic_settings_wifi_active_0_launcher"
462                 android:label="@string/launcher_network_app_name"
463                 android:priority="2">
464                <action android:name="android.intent.action.MAIN"/>
465                <category android:name="android.intent.category.LEANBACK_SETTINGS"/>
466            </intent-filter>
467            <intent-filter android:priority="100">
468                <action android:name="android.settings.WIFI_SETTINGS"/>
469                <category android:name="android.intent.category.DEFAULT"/>
470                <category android:name="android.intent.category.LEANBACK_SETTINGS"/>
471            </intent-filter>
472            <intent-filter android:priority="1">
473                <action android:name="android.settings.LOCATION_SCANNING_SETTINGS"/>
474                <category android:name="android.intent.category.DEFAULT"/>
475            </intent-filter>
476            <intent-filter>
477                <action android:name="android.settings.panel.action.INTERNET_CONNECTIVITY"/>
478                <action android:name="android.settings.panel.action.WIFI"/>
479                <category android:name="android.intent.category.DEFAULT"/>
480            </intent-filter>
481            <intent-filter>
482                <action android:name="android.settings.WIFI_ADD_NETWORKS"/>
483                <category android:name="android.intent.category.DEFAULT"/>
484                <category android:name="android.intent.category.LEANBACK_SETTINGS"/>
485            </intent-filter>
486        </activity>
487
488        <activity
489            android:name=".system.SecurityActivity"
490            android:configChanges="keyboard|keyboardHidden|navigation"
491            android:excludeFromRecents="true"
492            android:exported="true"
493            android:theme="@style/TvSettingsActivityTheme">
494            <intent-filter>
495                <action android:name="android.settings.SECURITY_SETTINGS"/>
496                <category android:name="android.intent.category.DEFAULT"/>
497            </intent-filter>
498        </activity>
499
500        <activity-alias
501            android:name=".users.RestrictedProfileActivityLauncherEntry"
502            android:enabled="false"
503            android:excludeFromRecents="true"
504            android:exported="true"
505            android:targetActivity=".system.SecurityActivity">
506            <!-- Intent filter used to display this activity as a settings entry point in the
507                 LeanbackLauncher -->
508            <intent-filter android:icon="@drawable/ic_settings_restricted_profile_launcher"
509                 android:label="@string/launcher_restricted_profile_app_name"
510                 android:priority="0">
511                <action android:name="android.intent.action.MAIN"/>
512                <category android:name="android.intent.category.LEANBACK_SETTINGS"/>
513            </intent-filter>
514        </activity-alias>
515
516        <activity
517            android:name=".system.CreateRestrictedProfileActivity"
518            android:configChanges="keyboard|keyboardHidden|navigation"
519            android:excludeFromRecents="true"
520            android:exported="true"
521            android:theme="@style/TvSettingsActivityTheme">
522            <intent-filter>
523                <action android:name="com.android.tv.settings.action.CREATE_RESTRICTED_PROFILE"/>
524                <category android:name="android.intent.category.DEFAULT"/>
525            </intent-filter>
526        </activity>
527
528        <activity
529            android:name=".system.EnterRestrictedProfileActivity"
530            android:configChanges="keyboard|keyboardHidden|navigation"
531            android:excludeFromRecents="true"
532            android:exported="true"
533            android:theme="@style/TvSettingsActivityTheme">
534            <intent-filter>
535                <action android:name="com.android.tv.settings.action.ENTER_RESTRICTED_PROFILE"/>
536                <category android:name="android.intent.category.DEFAULT"/>
537            </intent-filter>
538        </activity>
539
540        <activity
541            android:name=".device.displaysound.DisplaySoundActivity"
542            android:configChanges="keyboard|keyboardHidden|navigation"
543            android:excludeFromRecents="true"
544            android:exported="true"
545            android:theme="@style/TvSettingsActivityTheme">
546            <intent-filter>
547                <action android:name="android.intent.action.MAIN"/>
548                <action android:name="com.android.settings.SOUND_SETTINGS"/>
549                <action android:name="android.settings.SOUND_SETTINGS"/>
550                <action android:name="android.settings.panel.action.VOLUME"/>
551                <category android:name="android.intent.category.DEFAULT"/>
552                <category android:name="android.intent.category.VOICE_LAUNCH"/>
553                <category android:name="com.android.settings.SHORTCUT"/>
554            </intent-filter>
555        </activity>
556
557        <!-- AmbientSliceActivity is just here to facilitate the activity-alias below to eliminate
558             the risk of repackaging. -->
559        <activity
560            android:name=".device.display.ambient.AmbientSliceActivity"
561            android:configChanges="keyboard|keyboardHidden|navigation"
562            android:excludeFromRecents="true"
563            android:theme="@style/TvSettingsActivityTheme"
564            android:exported="false" />
565
566        <activity-alias
567            android:name="com.google.android.tv.settings.AmbientActivity"
568            android:targetActivity=".device.display.ambient.AmbientSliceActivity"
569            android:exported="true" >
570            <intent-filter android:priority="1">
571                <action android:name="com.google.android.tv.settings.ambient"/>
572                <category android:name="android.intent.category.DEFAULT"/>
573            </intent-filter>
574        </activity-alias>
575
576        <activity
577            android:name=".device.display.daydream.DaydreamActivity"
578            android:configChanges="keyboard|keyboardHidden|navigation"
579            android:excludeFromRecents="true"
580            android:exported="true"
581            android:theme="@style/TvSettingsActivityTheme" />
582
583        <activity
584            android:name=".device.display.daydream.DaydreamVoiceAction"
585            android:excludeFromRecents="true"
586            android:exported="true"
587            android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
588            <intent-filter>
589                <!-- This intent is launched by the SLEEP voice action from Pano Search -->
590                <action android:name="com.google.android.pano.action.SLEEP"/>
591                <category android:name="android.intent.category.DEFAULT"/>
592            </intent-filter>
593        </activity>
594
595        <activity
596            android:name=".system.CaptionSetupActivity"
597            android:configChanges="keyboard|keyboardHidden|navigation"
598            android:excludeFromRecents="true"
599            android:exported="true"
600            android:theme="@style/TvSettingsActivityTheme">
601            <intent-filter>
602                <action android:name="android.settings.CAPTIONING_SETTINGS"/>
603                <category android:name="android.intent.category.DEFAULT"/>
604            </intent-filter>
605        </activity>
606
607        <activity
608            android:name=".system.DateTimeActivity"
609            android:configChanges="keyboard|keyboardHidden|navigation"
610            android:excludeFromRecents="true"
611            android:exported="true"
612            android:theme="@style/TvSettingsActivityTheme">
613            <intent-filter>
614                <action android:name="android.settings.DATE_SETTINGS"/>
615                <category android:name="android.intent.category.DEFAULT"/>
616            </intent-filter>
617        </activity>
618
619        <activity
620            android:name=".system.LocationActivity"
621            android:configChanges="keyboard|keyboardHidden|navigation"
622            android:excludeFromRecents="true"
623            android:exported="true"
624            android:theme="@style/TvSettingsActivityTheme">
625            <intent-filter>
626                <action android:name="android.intent.action.MAIN"/>
627                <action android:name="android.settings.LOCATION_SOURCE_SETTINGS"/>
628                <category android:name="android.intent.category.DEFAULT"/>
629                <category android:name="android.intent.category.VOICE_LAUNCH"/>
630                <category android:name="com.android.settings.SHORTCUT"/>
631            </intent-filter>
632        </activity>
633
634        <activity
635            android:name=".system.TextToSpeechActivity"
636            android:configChanges="keyboard|keyboardHidden|navigation"
637            android:excludeFromRecents="true"
638            android:exported="true"
639            android:theme="@style/TvSettingsActivityTheme">
640            <intent-filter>
641                <action android:name="android.settings.TTS_SETTINGS"/>
642                <category android:name="android.intent.category.DEFAULT"/>
643            </intent-filter>
644        </activity>
645
646        <activity
647            android:name=".system.development.DevelopmentActivity"
648            android:configChanges="keyboard|keyboardHidden|navigation"
649            android:excludeFromRecents="true"
650            android:exported="true"
651            android:theme="@style/TvSettingsActivityTheme">
652            <intent-filter>
653                <action android:name="android.intent.action.MAIN"/>
654                <action android:name="android.settings.APPLICATION_DEVELOPMENT_SETTINGS"/>
655                <action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS"/>
656                <category android:name="android.intent.category.DEFAULT"/>
657            </intent-filter>
658        </activity>
659
660        <activity
661            android:name=".system.development.AppPicker"
662            android:configChanges="keyboard|keyboardHidden|navigation"
663            android:excludeFromRecents="true"
664            android:exported="false" />
665
666        <activity
667            android:name=".inputmethod.KeyboardActivity"
668            android:configChanges="keyboard|keyboardHidden|navigation"
669            android:excludeFromRecents="true"
670            android:exported="true"
671            android:theme="@style/TvSettingsActivityTheme">
672            <intent-filter android:priority="1">
673                <action android:name="android.settings.INPUT_METHOD_SETTINGS"/>
674                <category android:name="android.intent.category.VOICE_LAUNCH" />
675                <category android:name="android.intent.category.BROWSABLE"/>
676                <category android:name="android.intent.category.DEFAULT"/>
677            </intent-filter>
678            <intent-filter>
679                <action android:name="android.intent.action.MAIN"/>
680                <category android:name="android.intent.category.VOICE_LAUNCH"/>
681                <category android:name="android.intent.category.DEFAULT"/>
682            </intent-filter>
683        </activity>
684
685        <activity
686            android:name=".autofill.AutofillPickerActivity"
687            android:configChanges="keyboard|keyboardHidden|navigation"
688            android:excludeFromRecents="true"
689            android:exported="false"
690            android:launchMode="singleInstance"
691            android:theme="@style/TvSettingsActivityTheme" />
692
693        <activity
694            android:name=".autofill.AutofillPickerTrampolineActivity"
695            android:excludeFromRecents="true"
696            android:exported="true"
697            android:label="@string/title_select_autofill_service"
698            android:launchMode="singleInstance"
699            android:theme="@android:style/Theme.NoDisplay">
700            <intent-filter android:priority="1">
701                <action android:name="android.settings.REQUEST_SET_AUTOFILL_SERVICE"/>
702                <category android:name="android.intent.category.DEFAULT"/>
703                <data android:scheme="package"/>
704            </intent-filter>
705        </activity>
706
707        <activity
708            android:name=".system.AppLanguageActivity"
709            android:configChanges="keyboard|keyboardHidden|navigation|locale"
710            android:excludeFromRecents="true"
711            android:exported="true"
712            android:theme="@style/TvSettingsActivityTheme">
713            <intent-filter>
714                <action android:name="android.settings.APP_LOCALE_SETTINGS"/>
715                <category android:name="android.intent.category.DEFAULT"/>
716                <data android:scheme="package" />
717            </intent-filter>
718        </activity>
719
720        <activity
721            android:name=".system.LanguageActivity"
722            android:configChanges="keyboard|keyboardHidden|navigation|locale"
723            android:excludeFromRecents="true"
724            android:exported="true"
725            android:theme="@style/TvSettingsActivityTheme">
726            <intent-filter>
727                <action android:name="android.settings.LOCALE_SETTINGS"/>
728                <category android:name="android.intent.category.DEFAULT"/>
729            </intent-filter>
730        </activity>
731
732        <activity
733            android:name=".system.InputsActivity"
734            android:configChanges="keyboard|keyboardHidden|navigation"
735            android:excludeFromRecents="true"
736            android:exported="true" />
737
738        <activity
739            android:name=".accessories.BluetoothAccessoryActivity"
740            android:configChanges="keyboard|keyboardHidden|navigation"
741            android:excludeFromRecents="true"
742            android:exported="true"
743            android:permission="android.permission.BLUETOOTH_CONNECT"
744            android:theme="@style/TvSettingsActivityTheme" />
745
746        <activity
747            android:name=".accessories.AddAccessoryActivity"
748            android:configChanges="keyboard|keyboardHidden|navigation"
749            android:excludeFromRecents="true"
750            android:exported="true"
751            android:launchMode="singleTask"
752            android:permission="android.permission.BLUETOOTH_CONNECT"
753            android:persistableMode="persistNever"
754            android:showWhenLocked="true"
755            android:taskAffinity=""
756            android:turnScreenOn="true">
757            <intent-filter android:priority="1">
758                <action android:name="com.google.android.intent.action.CONNECT_INPUT"/>
759                <category android:name="android.intent.category.DEFAULT"/>
760            </intent-filter>
761        </activity>
762
763        <receiver
764            android:name=".accessories.BluetoothPairingRequest"
765            android:exported="true">
766            <intent-filter>
767                <action android:name="android.bluetooth.device.action.PAIRING_REQUEST"/>
768            </intent-filter>
769        </receiver>
770
771        <activity
772            android:name=".accessories.BluetoothPairingDialog"
773            android:configChanges="keyboard|keyboardHidden|navigation"
774            android:excludeFromRecents="true"
775            android:exported="true"
776            android:permission="android.permission.BLUETOOTH_PRIVILEGED"
777            android:taskAffinity="">
778            <intent-filter>
779                <action android:name="android.bluetooth.device.action.PAIRING_REQUEST"/>
780                <category android:name="android.intent.category.DEFAULT"/>
781            </intent-filter>
782        </activity>
783
784        <activity
785            android:name=".accessories.BluetoothDevicePickerActivity"
786            android:configChanges="keyboard|keyboardHidden|navigation"
787            android:excludeFromRecents="true"
788            android:exported="true">
789            <intent-filter>
790                <action android:name="android.bluetooth.devicepicker.action.LAUNCH"/>
791                <category android:name="android.intent.category.DEFAULT"/>
792            </intent-filter>
793        </activity>
794
795        <activity
796            android:name=".about.AboutActivity"
797            android:excludeFromRecents="true"
798            android:exported="true"
799            android:theme="@style/TvSettingsActivityTheme">
800            <intent-filter>
801                <action android:name="android.intent.action.MAIN"/>
802                <action android:name="android.settings.DEVICE_INFO_SETTINGS"/>
803                <category android:name="android.intent.category.DEFAULT"/>
804                <category android:name="android.intent.category.VOICE_LAUNCH"/>
805            </intent-filter>
806        </activity>
807
808        <!-- Runs in the phone process since it needs access to the Phone object -->
809        <activity
810            android:name=".about.StatusActivity"
811            android:excludeFromRecents="true"
812            android:exported="true"
813            android:process="com.android.phone"
814            android:theme="@style/TvSettingsActivityTheme">
815            <intent-filter>
816                <action android:name="android.intent.action.MAIN"/>
817                <category android:name="android.intent.category.DEFAULT"/>
818                <category android:name="android.intent.category.VOICE_LAUNCH"/>
819            </intent-filter>
820        </activity>
821
822        <activity
823            android:name=".about.LicenseActivity"
824            android:excludeFromRecents="true"
825            android:exported="true"
826            android:label="@string/about_legal_license">
827            <intent-filter>
828                <action android:name="android.settings.LICENSE"/>
829                <category android:name="android.intent.category.DEFAULT"/>
830            </intent-filter>
831        </activity>
832
833        <activity
834            android:name=".name.DeviceNameSettingsActivity"
835            android:theme="@style/Theme.SettingsDeviceName"
836            android:configChanges="keyboardHidden|navigation"
837            android:excludeFromRecents="true"
838            android:exported="true">
839                <intent-filter>
840                    <action android:name="android.settings.DEVICE_NAME" />
841                    <category android:name="android.intent.category.DEFAULT" />
842                </intent-filter>
843        </activity>
844
845        <activity
846            android:name=".name.DeviceNameSuggestionActivity"
847            android:excludeFromRecents="true"
848            android:theme="@style/GuidedStepFragmentThemeTwoPanel"
849            android:exported="true">
850            <intent-filter>
851                <action android:name="android.intent.action.MAIN"/>
852                <category android:name="com.android.settings.suggested.category.FIRST_IMPRESSION"/>
853            </intent-filter>
854            <!-- Default title for suggested setting -->
855            <meta-data android:name="com.android.settings.title"
856                 android:resource="@string/device_name_suggestion_title"/>
857            <!-- Default summary for suggested setting -->
858            <meta-data android:name="com.android.settings.summary"
859                 android:resource="@string/device_name_suggestion_summary"/>
860            <!-- Default icon for our suggested setting -->
861            <meta-data android:name="com.android.settings.icon"
862                 android:resource="@drawable/ic_device_name_suggestion"/>
863        </activity>
864
865        <activity
866            android:name=".name.setup.DeviceNameFlowStartActivity"
867            android:configChanges="keyboardHidden|navigation"
868            android:theme="@style/GuidedStepFragmentThemeTwoPanel"
869            android:excludeFromRecents="true"
870            android:exported="true"
871            android:label="@string/device_name">
872            <intent-filter>
873                <action android:name="android.settings.START_DEVICE_NAME_FLOW"/>
874                <category android:name="android.intent.category.DEFAULT"/>
875            </intent-filter>
876        </activity>
877
878        <service
879            android:name=".users.UserSwitchListenerService"
880            android:exported="false"
881            android:singleUser="true" />
882
883        <receiver
884            android:name=".users.UserSwitchListenerService$BootReceiver"
885            android:exported="true"
886            android:singleUser="true">
887            <intent-filter android:priority="1">
888                <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED"/>
889                <action android:name="android.intent.action.BOOT_COMPLETED"/>
890            </intent-filter>
891        </receiver>
892
893        <receiver
894            android:name=".device.storage.DiskReceiver"
895            android:exported="true">
896            <intent-filter>
897                <action android:name="android.os.storage.action.VOLUME_STATE_CHANGED"/>
898                <action android:name="com.google.android.tungsten.setupwraith.TV_SETTINGS_POST_SETUP"/>
899            </intent-filter>
900        </receiver>
901
902        <service
903            android:name=".users.RestrictedProfilePinService"
904            android:exported="false" />
905
906        <service
907            android:name=".device.storage.SettingsStorageService$Impl"
908            android:exported="false" />
909
910        <activity
911            android:name=".device.storage.NewStorageActivity"
912            android:excludeFromRecents="true"
913            android:exported="false"
914            android:taskAffinity="">
915            <intent-filter>
916                <action android:name="com.android.tv.settings.action.NEW_STORAGE"/>
917                <category android:name="android.intent.category.DEFAULT"/>
918            </intent-filter>
919        </activity>
920
921        <activity
922            android:name=".device.storage.UnmountActivity"
923            android:excludeFromRecents="true"
924            android:exported="false">
925            <intent-filter>
926                <action android:name="com.android.tv.settings.action.UNMOUNT_STORAGE"/>
927                <category android:name="android.intent.category.DEFAULT"/>
928            </intent-filter>
929        </activity>
930
931        <activity
932            android:name=".device.storage.FormatActivity"
933            android:excludeFromRecents="true"
934            android:exported="false" >
935            <intent-filter>
936                <action android:name="com.android.tv.settings.device.storage.FormatActivity.formatAsPublic"/>
937                <action android:name="com.android.tv.settings.device.storage.FormatActivity.formatAsPrivate"/>
938                <category android:name="android.intent.category.DEFAULT"/>
939            </intent-filter>
940        </activity>
941
942        <activity
943            android:name=".device.storage.MigrateStorageActivity"
944            android:excludeFromRecents="true"
945            android:exported="false">
946            <intent-filter>
947                <action android:name="com.android.tv.settings.action.MIGRATE_STORAGE"/>
948                <category android:name="android.intent.category.DEFAULT"/>
949            </intent-filter>
950        </activity>
951
952        <activity
953            android:name=".device.apps.MoveAppActivity"
954            android:excludeFromRecents="true"
955            android:exported="false">
956            <intent-filter>
957                <action android:name="com.android.tv.settings.action.MOVE_APP"/>
958                <category android:name="android.intent.category.DEFAULT"/>
959            </intent-filter>
960        </activity>
961
962        <activity
963            android:name=".accessories.BluetoothRequestPermissionActivity"
964            android:excludeFromRecents="true"
965            android:exported="true"
966            android:label="@string/bluetooth_permission_request"
967            android:permission="android.permission.BLUETOOTH_ADVERTISE"
968            android:theme="@style/TvSettingsActivityTheme">
969            <intent-filter android:priority="1">
970                <action android:name="android.bluetooth.adapter.action.REQUEST_DISCOVERABLE"/>
971                <action android:name="android.bluetooth.adapter.action.REQUEST_ENABLE"/>
972                <category android:name="android.intent.category.DEFAULT"/>
973            </intent-filter>
974        </activity>
975
976        <!-- Triggered when user-selected home app isn't encryption aware -->
977        <activity
978            android:name=".system.FallbackHome"
979            android:configChanges="locale|keyboard|keyboardHidden|navigation|screenLayout|fontScale|uiMode|orientation|screenSize|smallestScreenSize|layoutDirection"
980            android:excludeFromRecents="true"
981            android:exported="true"
982            android:theme="@style/FallbackHome">
983            <intent-filter android:priority="-1000">
984                <action android:name="android.intent.action.MAIN"/>
985                <category android:name="android.intent.category.HOME"/>
986                <category android:name="android.intent.category.DEFAULT"/>
987            </intent-filter>
988        </activity>
989
990        <activity
991            android:name=".inputmethod.InputMethodAndSubtypeEnablerActivity"
992            android:clearTaskOnLaunch="true"
993            android:exported="true"
994            android:label=""
995            android:theme="@style/TvSettingsActivityTheme">
996            <intent-filter android:priority="1">
997                <action android:name="android.settings.INPUT_METHOD_SUBTYPE_SETTINGS"/>
998                <category android:name="android.intent.category.DEFAULT"/>
999            </intent-filter>
1000            <intent-filter>
1001                <action android:name="android.intent.action.MAIN"/>
1002                <category android:name="android.intent.category.VOICE_LAUNCH"/>
1003                <category android:name="android.intent.category.DEFAULT"/>
1004            </intent-filter>
1005        </activity>
1006
1007        <activity
1008            android:name=".device.apps.specialaccess.ExternalSourcesActivity"
1009            android:exported="true"
1010            android:label="@string/install_other_apps"
1011            android:taskAffinity=""
1012            android:theme="@style/TvSettingsActivityTheme">
1013            <intent-filter android:priority="1">
1014                <action android:name="android.settings.MANAGE_UNKNOWN_APP_SOURCES"/>
1015                <category android:name="android.intent.category.DEFAULT"/>
1016            </intent-filter>
1017            <intent-filter android:priority="1">
1018                <action android:name="android.settings.MANAGE_UNKNOWN_APP_SOURCES"/>
1019                <category android:name="android.intent.category.DEFAULT"/>
1020                <data android:scheme="package"/>
1021            </intent-filter>
1022        </activity>
1023
1024        <activity
1025            android:name=".privacy.NotificationAccessActivity"
1026            android:configChanges="keyboard|keyboardHidden|navigation"
1027            android:excludeFromRecents="true"
1028            android:exported="true"
1029            android:theme="@style/TvSettingsActivityTheme">
1030            <intent-filter android:priority="1">
1031                <action android:name="android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"/>
1032                <category android:name="android.intent.category.DEFAULT"/>
1033            </intent-filter>
1034        </activity>
1035
1036        <activity
1037            android:name=".privacy.SensorToggleActivity"
1038            android:configChanges="keyboard|keyboardHidden|navigation"
1039            android:excludeFromRecents="true"
1040            android:exported="true"
1041            android:theme="@style/TvSettingsActivityTheme">
1042            <intent-filter android:priority="1">
1043                <action android:name="android.settings.MANAGE_MICROPHONE_PRIVACY"/>
1044                <category android:name="android.intent.category.DEFAULT"/>
1045            </intent-filter>
1046            <intent-filter android:priority="1">
1047                <action android:name="android.settings.MANAGE_CAMERA_PRIVACY"/>
1048                <category android:name="android.intent.category.DEFAULT"/>
1049            </intent-filter>
1050        </activity>
1051
1052        <!-- Stub intent filters for CTS TODO: implement something useful -->
1053        <activity
1054            android:name=".EmptyStubActivity"
1055            android:excludeFromRecents="true"
1056            android:exported="true"
1057            android:theme="@android:style/Theme.NoDisplay">
1058            <intent-filter>
1059                <action android:name="android.settings.WEBVIEW_SETTINGS"/>
1060                <category android:name="android.intent.category.DEFAULT"/>
1061            </intent-filter>
1062            <intent-filter android:priority="1">
1063                <action android:name="android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS"/>
1064                <category android:name="android.intent.category.DEFAULT"/>
1065            </intent-filter>
1066            <intent-filter android:priority="1">
1067                <action android:name="android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
1068                <category android:name="android.intent.category.DEFAULT"/>
1069                <data android:scheme="package"/>
1070            </intent-filter>
1071            <intent-filter android:priority="1">
1072                <action android:name="android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS"/>
1073                <category android:name="android.intent.category.DEFAULT"/>
1074                <data android:scheme="package"/>
1075            </intent-filter>
1076            <intent-filter android:priority="1">
1077                <action android:name="android.settings.MANAGE_DEFAULT_APPS_SETTINGS"/>
1078                <action android:name="android.settings.HOME_SETTINGS"/>
1079                <category android:name="android.intent.category.DEFAULT"/>
1080            </intent-filter>
1081        </activity>
1082
1083        <!-- FileProvider to share a generated license html file. Note that
1084             "com.android.settings.files" is set here as its authorities because a Uri permission
1085             grant should be allowed to share a file with an external browser but it is allowed only
1086             for Settings' authorities in ActivityManagerService. -->
1087        <provider
1088            android:name="androidx.core.content.FileProvider"
1089            android:authorities="com.android.settings.files"
1090            android:exported="false"
1091            android:grantUriPermissions="true">
1092            <meta-data
1093                android:name="android.support.FILE_PROVIDER_PATHS"
1094                android:resource="@xml/file_paths"/>
1095        </provider>
1096
1097        <provider
1098            android:name=".name.SuggestionContentProvider"
1099            android:authorities="com.android.tv.settings.name"
1100            android:exported="true">
1101            <intent-filter>
1102                <action android:name="com.android.settings.action.SUGGESTION_STATE_PROVIDER"/>
1103            </intent-filter>
1104        </provider>
1105
1106        <activity
1107            android:name=".deviceadmin.ProfileOwnerAdd"
1108            android:clearTaskOnLaunch="true"
1109            android:excludeFromRecents="true"
1110            android:exported="true"
1111            android:theme="@style/TvSettingsActivityTheme">
1112            <intent-filter android:priority="1000">
1113                <action android:name="android.app.action.SET_PROFILE_OWNER"/>
1114                <category android:name="android.intent.category.DEFAULT"/>
1115            </intent-filter>
1116        </activity>
1117
1118        <activity
1119            android:name=".ActionDisabledByAdminDialog"
1120            android:excludeFromRecents="true"
1121            android:exported="true"
1122            android:launchMode="singleTop"
1123            android:taskAffinity="com.android.tv.settings"
1124            android:theme="@style/ActionDisabledDialogTheme">
1125            <intent-filter android:priority="1">
1126                <action android:name="android.settings.SHOW_ADMIN_SUPPORT_DETAILS"/>
1127                <category android:name="android.intent.category.DEFAULT"/>
1128            </intent-filter>
1129        </activity>
1130
1131        <activity
1132            android:name=".deviceadmin.DeviceAdminAdd"
1133            android:clearTaskOnLaunch="true"
1134            android:excludeFromRecents="true"
1135            android:exported="true">
1136            <intent-filter>
1137                <action android:name="android.app.action.ADD_DEVICE_ADMIN"/>
1138                <category android:name="android.intent.category.DEFAULT"/>
1139            </intent-filter>
1140        </activity>
1141
1142        <activity
1143            android:name=".slice.SliceActivity"
1144            android:configChanges="keyboard|keyboardHidden|navigation"
1145            android:excludeFromRecents="true"
1146            android:exported="true"
1147            android:permission="android.permission.WRITE_SECURE_SETTINGS"
1148            android:theme="@style/TvSettingsActivityTheme">
1149            <intent-filter android:priority="3">
1150                <action android:name="android.settings.SLICE_SETTINGS" />
1151                <category android:name="android.intent.category.DEFAULT" />
1152            </intent-filter>
1153        </activity>
1154
1155        <!-- It is critical to make sure that the OEM links below all have "android:priority" larger
1156             than 0 to make sure that non-System apps, whose "android:priority" are capped to 0 at
1157             runtime by the system, cannot "abduct" the intent. -->
1158        <activity-alias
1159            android:name=".oemlink.AccessibilityCaptionActivity"
1160            android:targetActivity=".system.CaptionSetupActivity"
1161            android:configChanges="keyboard|keyboardHidden|navigation"
1162            android:excludeFromRecents="true"
1163            android:exported="true"
1164            android:noHistory="true"
1165            android:theme="@style/TvSettingsActivityTheme">
1166            <intent-filter android:priority="1" >
1167                <action android:name="android.settings.ACCESSIBILITY_CAPTION_TV_OEM_LINK" />
1168                <category android:name="android.intent.category.DEFAULT" />
1169            </intent-filter>
1170        </activity-alias>
1171
1172        <activity
1173            android:name=".oemlink.AccessibilitySettingsActivity"
1174            android:configChanges="keyboard|keyboardHidden|navigation"
1175            android:excludeFromRecents="true"
1176            android:exported="true"
1177            android:theme="@style/TvSettingsActivityTheme">
1178            <intent-filter android:priority="1" >
1179                <action android:name="android.settings.ACCESSIBILITY_TV_OEM_LINK" />
1180                <action android:name="android.settings.ACCESSIBILITY_SETTINGS" />
1181                <category android:name="android.intent.category.DEFAULT" />
1182            </intent-filter>
1183        </activity>
1184
1185        <activity
1186            android:name=".accessibility.AccessibilityColorCorrectionActivity"
1187            android:configChanges="keyboard|keyboardHidden|navigation"
1188            android:excludeFromRecents="true"
1189            android:exported="true"
1190            android:theme="@style/TvSettingsActivityTheme">
1191            <intent-filter android:priority="1" >
1192                <action android:name="android.settings.ACCESSIBILITY_COLOR_CORRECTION_TV_OEM_LINK" />
1193                <category android:name="android.intent.category.DEFAULT" />
1194            </intent-filter>
1195        </activity>
1196
1197        <activity
1198            android:name=".oemlink.AccessibilityServiceActivity"
1199            android:configChanges="keyboard|keyboardHidden|navigation"
1200            android:excludeFromRecents="true"
1201            android:exported="true"
1202            android:theme="@style/TvSettingsActivityTheme">
1203            <intent-filter android:priority="1" >
1204                <action android:name="android.settings.ACCESSIBILITY_SHORTCUT_SERVICES_TV_OEM_LINK" />
1205                <category android:name="android.intent.category.DEFAULT" />
1206            </intent-filter>
1207        </activity>
1208
1209        <activity-alias
1210            android:name=".oemlink.NetworkSettingsActivity"
1211            android:targetActivity=".connectivity.NetworkActivity"
1212            android:configChanges="keyboard|keyboardHidden|navigation"
1213            android:excludeFromRecents="true"
1214            android:exported="true"
1215            android:theme="@style/TvSettingsActivityTheme">
1216            <intent-filter android:priority="1" >
1217                <action android:name="android.settings.NETWORK_SETTINGS_TV_OEM_LINK" />
1218                <category android:name="android.intent.category.DEFAULT" />
1219            </intent-filter>
1220        </activity-alias>
1221
1222        <activity
1223            android:name=".oemlink.FactoryResetActivity"
1224            android:configChanges="keyboard|keyboardHidden|navigation"
1225            android:excludeFromRecents="true"
1226            android:exported="true"
1227            android:permission="android.permission.WRITE_SECURE_SETTINGS"
1228            android:theme="@style/ActionDisabledDialogTheme">
1229            <intent-filter android:priority="1" >
1230                <action android:name="android.settings.FACTORY_RESET_TV_OEM_LINK" />
1231                <category android:name="android.intent.category.DEFAULT" />
1232            </intent-filter>
1233            <intent-filter android:priority="1" >
1234                <action android:name="android.intent.action.FACTORY_RESET" />
1235                <category android:name="android.intent.category.DEFAULT" />
1236            </intent-filter>
1237        </activity>
1238
1239        <activity
1240            android:name="com.android.tv.settings.vendor.VendorActivity"
1241            android:configChanges="keyboard|keyboardHidden|navigation"
1242            android:excludeFromRecents="true"
1243            android:exported="true"
1244            android:theme="@style/TvSettingsActivityTheme">
1245            <intent-filter android:priority="1" >
1246                <action android:name="com.google.android.tv.settings.vendor"/>
1247                <category android:name="android.intent.category.DEFAULT"/>
1248            </intent-filter>
1249        </activity>
1250
1251        <receiver
1252            android:name=".DeviceSettingBroadcastReceiver"
1253            android:exported="true"
1254            android:permission="android.permission.READ_PRIVILEGED_PHONE_STATE">
1255            <intent-filter>
1256                <action android:name="com.android.tv.settings.REBOOT_DEVICE"/>
1257                <action android:name="com.android.tv.settings.REMOVE_WIFI"/>
1258            </intent-filter>
1259        </receiver>
1260
1261        <activity
1262            android:name=".accessories.BluetoothActionActivity"
1263            android:exported="false" />
1264
1265        <service
1266            android:name=".accessories.BluetoothDevicesService"
1267            android:exported="false" />
1268        <provider
1269            android:name=".accessories.ConnectedDevicesSliceProvider"
1270            android:authorities="com.android.tv.settings.accessories.sliceprovider"
1271            android:exported="true">
1272            <intent-filter>
1273                <action android:name="android.intent.action.VIEW"/>
1274                <category android:name="android.app.slice.category.SLICE"/>
1275            </intent-filter>
1276        </provider>
1277
1278        <receiver
1279            android:name=".accessories.ConnectedDevicesSliceBroadcastReceiver"
1280            android:exported="false">
1281        </receiver>
1282
1283        <activity
1284            android:name=".device.LimitNetworkInStandbyConfirmationDialogActivity"
1285            android:theme="@style/Transparent"
1286            android:excludeFromRecents="true"
1287            android:launchMode="singleTop"
1288            android:exported="false" />
1289
1290        <receiver
1291            android:name=".BootReceiver"
1292            android:enabled="true"
1293            android:exported="true">
1294            <intent-filter>
1295                <action android:name="android.intent.action.BOOT_COMPLETED"/>
1296            </intent-filter>
1297        </receiver>
1298
1299        <receiver
1300            android:name=".connectivity.EthernetDetectionReceiver"
1301            android:exported="false"
1302            android:enabled="true">
1303            <intent-filter>
1304                <action android:name="com.android.settings.connectivity.ETHERNET_DETECTED"/>
1305            </intent-filter>
1306        </receiver>
1307
1308        <receiver
1309            android:name=".PreBootCompleteReceiver"
1310            android:enabled="true"
1311            android:exported="true">
1312            <intent-filter>
1313                <action android:name="android.intent.action.PRE_BOOT_COMPLETED"/>
1314            </intent-filter>
1315        </receiver>
1316
1317        <activity android:name=".RemoteBugreportActivity"
1318            android:excludeFromRecents="true"
1319            android:exported="true"
1320            android:permission="android.permission.DUMP"
1321            android:theme="@style/TvSettingsActivityTheme">
1322            <intent-filter>
1323                <action android:name="android.settings.SHOW_REMOTE_BUGREPORT_DIALOG" />
1324                <category android:name="android.intent.category.DEFAULT" />
1325            </intent-filter>
1326        </activity>
1327
1328        <activity
1329            android:name=".enterprise.EnterprisePrivacySettingsActivity"
1330            android:excludeFromRecents="true"
1331            android:exported="true"
1332            android:label="@string/enterprise_privacy_settings"
1333            android:theme="@style/TvSettingsActivityTheme">
1334            <intent-filter>
1335                <action android:name="android.settings.ENTERPRISE_PRIVACY_SETTINGS" />
1336                <category android:name="android.intent.category.DEFAULT" />
1337            </intent-filter>
1338        </activity>
1339
1340        <activity
1341            android:name=".device.apps.ConfirmationActivity"
1342            android:theme="@style/GuidedStepFragmentThemeTwoPanel"
1343            android:exported="true">
1344            <intent-filter>
1345                <action android:name="android.settings.ui.CONFIRM" />
1346                <category android:name="android.intent.category.DEFAULT" />
1347            </intent-filter>
1348        </activity>
1349
1350        <service android:name=".device.eco.EnergyModesStatsLogJobService"
1351            android:permission="android.permission.BIND_JOB_SERVICE" />
1352
1353        <provider
1354            android:name=".device.eco.EnergyModesContentProvider"
1355            android:authorities="com.android.tv.settings.device.eco.energymodes"
1356            android:exported="true">
1357            <intent-filter>
1358                <action android:name="com.android.tv.settings.ENERGY_MODES_PROVIDER"/>
1359            </intent-filter>
1360        </provider>
1361
1362        <activity
1363            android:name=".device.eco.EnergyModesActivity"
1364            android:configChanges="keyboard|keyboardHidden|navigation"
1365            android:excludeFromRecents="true"
1366            android:exported="true"
1367            android:theme="@style/TvSettingsActivityTheme">
1368            <intent-filter android:priority="1" >
1369                <action android:name="com.google.android.tv.settings.energymodes"/>
1370                <category android:name="android.intent.category.DEFAULT"/>
1371            </intent-filter>
1372        </activity>
1373
1374        <activity android:name=".device.eco.EnergyModeConfirmationActivity"
1375            android:theme="@style/Theme.Reset"
1376            android:configChanges="keyboard|keyboardHidden|navigation"
1377            android:excludeFromRecents="true" />
1378
1379        <activity android:name=".FullScreenConfirmationActivity"
1380            android:theme="@style/TvSettingsDialog.FullScreen"
1381            android:configChanges="keyboard|keyboardHidden|navigation"
1382            android:excludeFromRecents="true"
1383            android:exported="false"/>
1384
1385        <receiver
1386            android:name=".GlobalKeyReceiver"
1387            android:exported="true">
1388            <intent-filter>
1389                <action android:name="android.intent.action.GLOBAL_BUTTON"/>
1390            </intent-filter>
1391        </receiver>
1392
1393    </application>
1394
1395    <queries>
1396        <intent>
1397            <action android:name="com.google.android.tv.FIND_MY_REMOTE" />
1398        </intent>
1399    </queries>
1400
1401    <protected-broadcast android:name="com.android.tv.settings.display.HDR_SETTINGS_CHANGED" />
1402
1403    <queries>
1404        <intent>
1405            <action android:name="com.google.android.tv.BACKLIGHT" />
1406        </intent>
1407    </queries>
1408
1409</manifest>
1410