• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2015 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<!-- This manifest is for LiveTv -->
18<manifest xmlns:android="http://schemas.android.com/apk/res/android"
19  xmlns:tools="http://schemas.android.com/tools"
20    package="com.android.tv" >
21
22    <uses-sdk
23        android:minSdkVersion="23"
24        android:targetSdkVersion="27" />
25
26    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
27    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
28    <uses-permission android:name="android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE" />
29    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
30    <uses-permission android:name="android.permission.HDMI_CEC" />
31    <uses-permission android:name="android.permission.INTERNET" />
32    <uses-permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS" />
33    <uses-permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS" />
34    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
35    <uses-permission android:name="android.permission.READ_TV_LISTINGS" />
36    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
37    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
38    <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" />
39    <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
40    <uses-permission android:name="com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA" />
41    <uses-permission android:name="com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS" />
42    <!-- Permissions/feature for USB tuner -->
43    <uses-permission android:name="android.permission.DVB_DEVICE" />
44
45    <uses-feature
46        android:name="android.hardware.usb.host"
47        android:required="false" />
48
49    <!-- Limit only for Android TV -->
50    <uses-feature
51        android:name="android.software.leanback"
52        android:required="true" />
53    <uses-feature
54        android:name="android.software.live_tv"
55        android:required="true" />
56    <uses-feature
57        android:name="android.hardware.touchscreen"
58        android:required="false" />
59
60    <!-- Receives input events from the TV app. -->
61    <permission
62        android:name="com.android.tv.permission.RECEIVE_INPUT_EVENT"
63        android:description="@string/permdesc_receiveInputEvent"
64        android:label="@string/permlab_receiveInputEvent"
65        android:protectionLevel="signatureOrSystem" />
66    <!-- Customizes Live TV with customization packages. -->
67    <permission
68        android:name="com.android.tv.permission.CUSTOMIZE_TV_APP"
69        android:description="@string/permdesc_customizeTvApp"
70        android:label="@string/permlab_customizeTvApp"
71        android:protectionLevel="signatureOrSystem" />
72
73    <application
74        android:name="com.android.tv.app.LiveTvApplication"
75        android:allowBackup="true"
76        android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
77        android:banner="@drawable/live_tv_banner"
78        android:icon="@drawable/ic_tv_app"
79        android:label="@string/app_name"
80        android:supportsRtl="true"
81        android:theme="@style/Theme.TV"
82        tools:replace="android:appComponentFactory">
83        >
84
85        <!-- providers are listed here to keep them separate from the internal versions -->
86        <provider
87            android:name="com.android.tv.search.LocalSearchProvider"
88            android:authorities="com.android.tv.search"
89            android:enabled="true"
90            android:exported="true" >
91            <meta-data
92                android:name="SupportedSwitchActionType"
93                android:value="CHANNEL|TVINPUT" />
94        </provider>
95        <provider
96            android:name="com.android.tv.common.CommonPreferenceProvider"
97            android:authorities="com.android.tv.common.preferences"
98            android:exported="false"
99            android:process="com.android.tv.common" />
100
101
102
103        <receiver
104            android:name="com.android.tv.livetv.receiver.GlobalKeyReceiver"
105            android:exported="true" >
106            <intent-filter>
107                <action android:name="android.intent.action.GLOBAL_BUTTON" />
108            </intent-filter>
109
110            <!--
111             Not directly related to GlobalKeyReceiver but needed to be able to provide our
112            content rating definitions to the system service.
113            -->
114            <intent-filter>
115                <action android:name="android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS" />
116            </intent-filter>
117
118            <meta-data
119                android:name="android.media.tv.metadata.CONTENT_RATING_SYSTEMS"
120                android:resource="@xml/tv_content_rating_systems" />
121        </receiver>
122
123        <activity
124            android:name="com.android.tv.TvActivity"
125            android:exported="true"
126            android:launchMode="singleTask" >
127            <intent-filter>
128                <action android:name="android.intent.action.MAIN" />
129
130                <category android:name="android.intent.category.LAUNCHER" />
131                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
132            </intent-filter>
133        </activity>
134        <activity
135            android:name="com.android.tv.MainActivity"
136            android:configChanges="keyboard|keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation"
137            android:launchMode="singleTask"
138            android:resizeableActivity="true"
139            android:screenOrientation="landscape"
140            android:supportsPictureInPicture="true"
141            android:theme="@style/Theme.TV.MainActivity" >
142            <intent-filter>
143                <action android:name="android.intent.action.VIEW" />
144
145                <category android:name="android.intent.category.DEFAULT" />
146
147                <data android:mimeType="vnd.android.cursor.item/channel" />
148                <data android:mimeType="vnd.android.cursor.dir/channel" />
149                <data android:mimeType="vnd.android.cursor.item/program" />
150                <data android:mimeType="vnd.android.cursor.dir/program" />
151            </intent-filter>
152            <intent-filter>
153                <action android:name="android.media.tv.action.SETUP_INPUTS" />
154
155                <category android:name="android.intent.category.DEFAULT" />
156            </intent-filter>
157            <intent-filter>
158                <action android:name="android.intent.action.SEARCH" />
159            </intent-filter>
160
161            <meta-data
162                android:name="supports_leanback"
163                android:value="true" />
164            <meta-data
165                android:name="android.app.searchable"
166                android:resource="@xml/searchable" />
167        </activity>
168        <activity
169            android:name="com.android.tv.LauncherActivity"
170            android:configChanges="keyboard|keyboardHidden"
171            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
172        <activity
173            android:name="com.android.tv.SetupPassthroughActivity"
174            android:configChanges="keyboard|keyboardHidden"
175            android:exported="true"
176            android:theme="@android:style/Theme.Translucent.NoTitleBar" >
177            <intent-filter>
178                <action android:name="com.android.tv.action.LAUNCH_INPUT_SETUP" />
179
180                <category android:name="android.intent.category.DEFAULT" />
181            </intent-filter>
182        </activity>
183        <activity
184            android:name="com.android.tv.SelectInputActivity"
185            android:configChanges="keyboard|keyboardHidden"
186            android:launchMode="singleTask"
187            android:theme="@style/Theme.SelectInputActivity" />
188        <activity
189            android:name="com.android.tv.onboarding.OnboardingActivity"
190            android:configChanges="keyboard|keyboardHidden"
191            android:launchMode="singleTop"
192            android:theme="@style/Theme.Setup.GuidedStep" />
193        <activity
194            android:name="com.android.tv.dvr.ui.browse.DvrBrowseActivity"
195            android:configChanges="keyboard|keyboardHidden"
196            android:launchMode="singleTask"
197            android:theme="@style/Theme.Leanback.Browse" >
198            <intent-filter>
199                <action android:name="android.media.tv.action.VIEW_RECORDING_SCHEDULES" />
200
201                <category android:name="android.intent.category.DEFAULT" />
202            </intent-filter>
203            <intent-filter>
204                <action android:name="android.intent.action.VIEW" />
205
206                <category android:name="android.intent.category.DEFAULT" />
207
208                <data android:mimeType="vnd.android.cursor.dir/recorded_program" />
209            </intent-filter>
210        </activity>
211        <activity
212            android:name="com.android.tv.dvr.ui.playback.DvrPlaybackActivity"
213            android:configChanges="keyboard|keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation"
214            android:launchMode="singleTask"
215            android:theme="@style/Theme.Leanback" >
216            <intent-filter>
217                <action android:name="android.intent.action.VIEW" />
218
219                <category android:name="android.intent.category.DEFAULT" />
220
221                <data android:mimeType="vnd.android.cursor.item/recorded_program" />
222            </intent-filter>
223        </activity>
224        <activity
225            android:name="com.android.tv.ui.DetailsActivity"
226            android:configChanges="keyboard|keyboardHidden"
227            android:exported="true"
228            android:theme="@style/Theme.TV.Dvr.Browse.Details" />
229        <activity
230            android:name="com.android.tv.dvr.ui.DvrSeriesSettingsActivity"
231            android:configChanges="keyboard|keyboardHidden"
232            android:theme="@style/Theme.TV.Dvr.Series.Settings.GuidedStep" />
233        <activity
234            android:name="com.android.tv.dvr.ui.DvrSeriesDeletionActivity"
235            android:configChanges="keyboard|keyboardHidden"
236            android:theme="@style/Theme.TV.Dvr.Series.Deletion.GuidedStep" />
237        <activity
238            android:name="com.android.tv.dvr.ui.DvrSeriesScheduledDialogActivity"
239            android:theme="@style/Theme.TV.dialog.HalfSizedDialog" />
240        <activity
241            android:name="com.android.tv.dvr.ui.list.DvrSchedulesActivity"
242            android:configChanges="keyboard|keyboardHidden"
243            android:theme="@style/Theme.Leanback.Details" />
244        <activity
245            android:name="com.android.tv.dvr.ui.list.DvrHistoryActivity"
246            android:configChanges="keyboard|keyboardHidden"
247            android:exported="false"
248            android:theme="@style/Theme.Leanback.Details" />
249
250        <service
251            android:name="com.android.tv.recommendation.NotificationService"
252            android:exported="false" />
253        <service
254            android:name="com.android.tv.recommendation.ChannelPreviewUpdater$ChannelPreviewUpdateService"
255            android:permission="android.permission.BIND_JOB_SERVICE" />
256
257        <receiver android:name="com.android.tv.receiver.BootCompletedReceiver" >
258            <intent-filter>
259                <action android:name="android.intent.action.BOOT_COMPLETED" />
260            </intent-filter>
261        </receiver>
262        <receiver android:name="com.android.tv.receiver.PackageIntentsReceiver" >
263            <intent-filter>
264                <action android:name="android.intent.action.PACKAGE_ADDED" />
265                <!-- PACKAGE_CHANGED for package enabled/disabled notification -->
266                <action android:name="android.intent.action.PACKAGE_CHANGED" />
267                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
268                <action android:name="android.intent.action.PACKAGE_REMOVED" />
269
270                <data android:scheme="package" />
271            </intent-filter>
272            <intent-filter>
273                <action android:name="android.intent.action.BOOT_COMPLETED" />
274            </intent-filter>
275        </receiver> <!-- System initial setup component definition -->
276        <activity
277            android:name="com.android.tv.setup.SystemSetupActivity"
278            android:configChanges="keyboard|keyboardHidden"
279            android:exported="true"
280            android:label="@string/app_name"
281            android:launchMode="singleInstance"
282            android:theme="@style/Theme.Setup.GuidedStep" >
283            <intent-filter>
284                <action android:name="com.android.tv.action.LAUNCH_SYSTEM_SETUP" />
285
286                <category android:name="android.intent.category.DEFAULT" />
287            </intent-filter>
288        </activity> <!-- DVR -->
289        <service
290            android:name="com.android.tv.dvr.recorder.DvrRecordingService"
291            android:label="@string/dvr_service_name" />
292
293        <receiver android:name="com.android.tv.dvr.recorder.DvrStartRecordingReceiver" />
294
295        <service
296            android:name="com.android.tv.data.epg.EpgFetchService"
297            android:permission="android.permission.BIND_JOB_SERVICE" />
298    </application>
299
300</manifest>
301