1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3 Copyright (C) 2014 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<manifest xmlns:android="http://schemas.android.com/apk/res/android" 18 package="com.android.providers.tv" > 19 20 <!-- Allows an application to read (but not write) all the TV listings. 21 This is the only (soon-to-be) public permission among other permissions defined here. 22 TODO(jaeseo): Update when b/21959866 is resolved. --> 23 <permission android:name="android.permission.READ_TV_LISTINGS" 24 android:protectionLevel="dangerous" 25 android:label="@string/permlab_readTvListings" 26 android:description="@string/permdesc_readTvListings" /> 27 28 <!-- Allows an application to read (but not write) its own TV channel/program data. 29 @deprecated No longer enforced. --> 30 <permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" 31 android:protectionLevel="normal" 32 android:label="@string/permlab_readEpgData" 33 android:description="@string/permdesc_readEpgData" /> 34 35 <!-- Allows an application to write (but not read) its own TV channel/program data. 36 The write permission is still enforced but the application is not required to declare it as 37 the TV player/viewer app grants permission to write through the channel setup flow. 38 @hide --> 39 <permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" 40 android:protectionLevel="normal" 41 android:label="@string/permlab_writeEpgData" 42 android:description="@string/permdesc_writeEpgData" /> 43 44 <!-- Allows an application to read and write all TV channel/program data. 45 @hide --> 46 <permission android:name="com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA" 47 android:protectionLevel="signature|privileged" 48 android:label="@string/permlab_accessAllEpgData" 49 android:description="@string/permdesc_accessAllEpgData" /> 50 51 <!-- Allows an application to read and write watched programs data. 52 @hide --> 53 <permission android:name="com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS" 54 android:protectionLevel="signature|privileged" 55 android:label="@string/permlab_accessWatchedPrograms" 56 android:description="@string/permdesc_accessWatchedPrograms" /> 57 58 <uses-permission android:name="com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA" /> 59 <uses-permission android:name="com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS" /> 60 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 61 62 <application android:label="@string/app_label"> 63 <provider 64 android:name="TvProvider" 65 android:authorities="android.media.tv" 66 android:exported="true" 67 android:syncable="true" 68 android:writePermission="com.android.providers.tv.permission.WRITE_EPG_DATA"> 69 <grant-uri-permission android:pathPattern="/channel" /> 70 <grant-uri-permission android:pathPattern="/program" /> 71 </provider> 72 73 <service android:name="EpgDataCleanupService" /> 74 75 <!-- Handles database upgrades after OTAs --> 76 <receiver android:name="TvProviderUpgradeReceiver" 77 android:exported="true"> 78 <!-- This broadcast is sent after the core system has finished 79 booting, before the home app is launched or BOOT_COMPLETED 80 is sent. --> 81 <intent-filter> 82 <action android:name="android.intent.action.PRE_BOOT_COMPLETED"/> 83 </intent-filter> 84 </receiver> 85 86 <!-- Deletes transient rows on boot. --> 87 <receiver android:name="BootCompletedReceiver" 88 android:exported="true"> 89 <intent-filter> 90 <action android:name="android.intent.action.BOOT_COMPLETED"/> 91 </intent-filter> 92 </receiver> 93 94 <!-- Removes channels and programs when some package is fully removed. --> 95 <receiver android:name="PackageRemovedReceiver" 96 android:exported="true"> 97 <intent-filter> 98 <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/> 99 <data android:scheme="package"/> 100 </intent-filter> 101 </receiver> 102 103 <!-- Removes preview programs, watch next programs, and preview channels when some 104 package is disabled. --> 105 <receiver android:name="PackageChangedReceiver" 106 android:exported="true"> 107 <intent-filter> 108 <action android:name="android.intent.action.PACKAGE_CHANGED"/> 109 <data android:scheme="package"/> 110 </intent-filter> 111 </receiver> 112 </application> 113</manifest> 114