aboutsummaryrefslogtreecommitdiff
path: root/AndroidManifest.xml
diff options
context:
space:
mode:
Diffstat (limited to 'AndroidManifest.xml')
-rw-r--r--AndroidManifest.xml320
1 files changed, 184 insertions, 136 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 8770301e..3456f16b 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -13,15 +13,19 @@
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
- -->
-
+-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.tv" xmlns:tools="http://schemas.android.com/tools">
+ package="com.android.tv" >
+
+ <uses-sdk
+ android:minSdkVersion="23"
+ android:targetSdkVersion="26" />
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE" />
- <uses-permission android:name="android.permission.GLOBAL_SEARCH" tools:ignore="ProtectedPermissions"/>
+ <uses-permission android:name="android.permission.GLOBAL_SEARCH" />
+ <uses-permission android:name="android.permission.HDMI_CEC" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS" />
<uses-permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS" />
@@ -32,57 +36,94 @@
<uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
<uses-permission android:name="com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA" />
<uses-permission android:name="com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS" />
-
<!-- Permissions/feature for USB tuner -->
<uses-permission android:name="android.permission.DVB_DEVICE" />
- <uses-feature android:name="android.hardware.usb.host" android:required="false" />
- <!-- Limit only for Android TV -->
- <uses-feature android:name="android.software.leanback" android:required="true" />
- <uses-feature android:name="android.software.live_tv" android:required="true" />
- <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
+ <uses-feature
+ android:name="android.hardware.usb.host"
+ android:required="false" />
+ <!-- Limit only for Android TV -->
+ <uses-feature
+ android:name="android.software.leanback"
+ android:required="true" />
+ <uses-feature
+ android:name="android.software.live_tv"
+ android:required="true" />
+ <uses-feature
+ android:name="android.hardware.touchscreen"
+ android:required="false" />
<!-- Receives input events from the TV app. -->
- <permission android:name="com.android.tv.permission.RECEIVE_INPUT_EVENT"
- android:protectionLevel="signatureOrSystem"
- android:label="@string/permlab_receiveInputEvent"
+ <permission
+ android:name="com.android.tv.permission.RECEIVE_INPUT_EVENT"
android:description="@string/permdesc_receiveInputEvent"
- tools:ignore="SignatureOrSystemPermissions"/>
+ android:label="@string/permlab_receiveInputEvent"
+ android:protectionLevel="signatureOrSystem" />
<!-- Customizes Live TV with customization packages. -->
- <permission android:name="com.android.tv.permission.CUSTOMIZE_TV_APP"
- android:protectionLevel="signatureOrSystem"
- android:label="@string/permlab_customizeTvApp"
+ <permission
+ android:name="com.android.tv.permission.CUSTOMIZE_TV_APP"
android:description="@string/permdesc_customizeTvApp"
- tools:ignore="SignatureOrSystemPermissions"/>
-
- <uses-sdk android:targetSdkVersion="26" android:minSdkVersion="23"/>
+ android:label="@string/permlab_customizeTvApp"
+ android:protectionLevel="signatureOrSystem" />
- <application android:label="@string/app_name"
- android:name=".TvApplication"
+ <application
+ android:name="com.android.tv.app.LiveTvApplication"
android:allowBackup="true"
- android:icon="@drawable/ic_launcher"
android:banner="@drawable/banner"
+ android:icon="@drawable/ic_live_channels"
+ android:label="@string/app_name"
android:supportsRtl="true"
- android:theme="@style/Theme.TV">
- <activity android:name="com.android.tv.TvActivity">
+ android:theme="@style/Theme.TV" >
+ <activity
+ android:name="com.android.tv.tuner.setup.LiveTvTunerSetupActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:label="@string/bt_app_name"
+ android:launchMode="singleInstance"
+ android:process="com.android.tv.tuner"
+ android:theme="@style/Theme.Setup.GuidedStep" >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ </intent-filter>
+ </activity>
+
+ <!-- providers are listed here to keep them separate from the internal versions -->
+ <provider
+ android:name="com.android.tv.search.LocalSearchProvider"
+ android:authorities="com.android.tv.search"
+ android:enabled="true"
+ android:exported="true" >
+ <meta-data
+ android:name="SupportedSwitchActionType"
+ android:value="CHANNEL|TVINPUT" />
+ </provider>
+ <provider
+ android:name="com.android.tv.common.CommonPreferenceProvider"
+ android:authorities="com.android.tv.common.preferences"
+ android:exported="false"
+ android:process="com.android.tv.common" />
+
+ <activity android:name="com.android.tv.TvActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
+
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
-
- <activity android:name="com.android.tv.MainActivity"
+ <activity
+ android:name="com.android.tv.MainActivity"
android:configChanges="keyboard|keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation"
- android:screenOrientation="landscape"
android:launchMode="singleTask"
android:resizeableActivity="true"
+ android:screenOrientation="landscape"
android:supportsPictureInPicture="true"
- android:theme="@style/Theme.TV.MainActivity">
+ android:theme="@style/Theme.TV.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
+
<category android:name="android.intent.category.DEFAULT" />
+
<data android:mimeType="vnd.android.cursor.item/channel" />
<data android:mimeType="vnd.android.cursor.dir/channel" />
<data android:mimeType="vnd.android.cursor.item/program" />
@@ -90,175 +131,146 @@
</intent-filter>
<intent-filter>
<action android:name="android.media.tv.action.SETUP_INPUTS" />
+
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
- <meta-data android:name="supports_leanback" android:value="true" />
- <meta-data android:name="android.app.searchable"
+
+ <meta-data
+ android:name="supports_leanback"
+ android:value="true" />
+ <meta-data
+ android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
-
- <activity android:name=".LauncherActivity"
+ <activity
+ android:name="com.android.tv.LauncherActivity"
android:configChanges="keyboard|keyboardHidden"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
-
- <activity android:name=".SetupPassthroughActivity"
+ <activity
+ android:name="com.android.tv.SetupPassthroughActivity"
android:configChanges="keyboard|keyboardHidden"
- android:theme="@android:style/Theme.Translucent.NoTitleBar">
+ android:exported="true"
+ android:theme="@android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<action android:name="com.android.tv.action.LAUNCH_INPUT_SETUP" />
+
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
-
- <activity android:name=".SelectInputActivity"
+ <activity
+ android:name="com.android.tv.SelectInputActivity"
android:configChanges="keyboard|keyboardHidden"
android:launchMode="singleTask"
android:theme="@style/Theme.SelectInputActivity" />
-
- <activity android:name=".onboarding.OnboardingActivity"
+ <activity
+ android:name="com.android.tv.onboarding.OnboardingActivity"
android:configChanges="keyboard|keyboardHidden"
android:launchMode="singleTop"
android:theme="@style/Theme.Setup.GuidedStep" />
-
- <activity android:name=".dvr.ui.browse.DvrBrowseActivity"
+ <activity
+ android:name="com.android.tv.dvr.ui.browse.DvrBrowseActivity"
android:configChanges="keyboard|keyboardHidden"
android:launchMode="singleTask"
- android:theme="@style/Theme.Leanback.Browse">
+ android:theme="@style/Theme.Leanback.Browse" >
<intent-filter>
<action android:name="android.media.tv.action.VIEW_RECORDING_SCHEDULES" />
+
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
+
<category android:name="android.intent.category.DEFAULT" />
+
<data android:mimeType="vnd.android.cursor.dir/recorded_program" />
</intent-filter>
</activity>
-
- <activity android:name=".dvr.ui.playback.DvrPlaybackActivity"
+ <activity
+ android:name="com.android.tv.dvr.ui.playback.DvrPlaybackActivity"
android:configChanges="keyboard|keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation"
android:launchMode="singleTask"
- android:theme="@style/Theme.Leanback">
+ android:theme="@style/Theme.Leanback" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
+
<category android:name="android.intent.category.DEFAULT" />
+
<data android:mimeType="vnd.android.cursor.item/recorded_program" />
</intent-filter>
</activity>
-
- <activity android:name=".dvr.ui.browse.DvrDetailsActivity"
+ <activity
+ android:name="com.android.tv.dvr.ui.browse.DvrDetailsActivity"
android:configChanges="keyboard|keyboardHidden"
android:theme="@style/Theme.TV.Dvr.Browse.Details" />
-
- <activity android:name=".dvr.ui.DvrSeriesSettingsActivity"
+ <activity
+ android:name="com.android.tv.dvr.ui.DvrSeriesSettingsActivity"
android:configChanges="keyboard|keyboardHidden"
android:theme="@style/Theme.TV.Dvr.Series.Settings.GuidedStep" />
-
- <activity android:name=".dvr.ui.DvrSeriesDeletionActivity"
+ <activity
+ android:name="com.android.tv.dvr.ui.DvrSeriesDeletionActivity"
android:configChanges="keyboard|keyboardHidden"
android:theme="@style/Theme.TV.Dvr.Series.Deletion.GuidedStep" />
-
- <activity android:name=".dvr.ui.DvrSeriesScheduledDialogActivity"
- android:theme="@style/Theme.TV.dialog.HalfSizedDialog"/>
-
- <activity android:name=".dvr.ui.list.DvrSchedulesActivity"
+ <activity
+ android:name="com.android.tv.dvr.ui.DvrSeriesScheduledDialogActivity"
+ android:theme="@style/Theme.TV.dialog.HalfSizedDialog" />
+ <activity
+ android:name="com.android.tv.dvr.ui.list.DvrSchedulesActivity"
android:configChanges="keyboard|keyboardHidden"
android:theme="@style/Theme.Leanback.Details" />
+ <activity
+ android:name="com.android.tv.dvr.ui.list.DvrHistoryActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:exported="false"
+ android:theme="@style/Theme.Leanback.Details" />
- <provider android:name="com.android.tv.search.LocalSearchProvider"
- android:authorities="com.android.tv.search"
- android:exported="true"
- android:enabled="true" tools:ignore="ExportedContentProvider">
- <meta-data android:name="SupportedSwitchActionType" android:value="CHANNEL|TVINPUT" />
- </provider>
-
- <service android:name="com.android.tv.recommendation.NotificationService"
- android:exported="false" />
- <service android:name=".recommendation.ChannelPreviewUpdater$ChannelPreviewUpdateService"
- android:permission="android.permission.BIND_JOB_SERVICE" />
+ <service
+ android:name="com.android.tv.recommendation.NotificationService"
+ android:exported="false" />
+ <service
+ android:name="com.android.tv.recommendation.ChannelPreviewUpdater$ChannelPreviewUpdateService"
+ android:permission="android.permission.BIND_JOB_SERVICE" />
- <receiver android:name="com.android.tv.receiver.BootCompletedReceiver">
+ <receiver android:name="com.android.tv.receiver.BootCompletedReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
- <receiver android:name="com.android.tv.receiver.PackageIntentsReceiver">
+ <receiver android:name="com.android.tv.receiver.PackageIntentsReceiver" >
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<!-- PACKAGE_CHANGED for package enabled/disabled notification -->
<action android:name="android.intent.action.PACKAGE_CHANGED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
- <data android:scheme="package"/>
+
+ <data android:scheme="package" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
- </receiver>
- <receiver android:name="com.android.tv.receiver.GlobalKeyReceiver">
- <intent-filter>
- <action android:name="android.intent.action.GLOBAL_BUTTON" />
- </intent-filter>
-
- <!-- Not directly related to GlobalKeyReceiver but needed to be able to provide our
- content rating definitions to the system service. -->
- <intent-filter>
- <action android:name="android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS" />
- </intent-filter>
- <meta-data android:name="android.media.tv.metadata.CONTENT_RATING_SYSTEMS"
- android:resource="@xml/tv_content_rating_systems" />
- </receiver>
-
- <!-- USB tuner components definition -->
- <activity android:name="com.android.tv.tuner.setup.TunerSetupActivity"
+ </receiver> <!-- System initial setup component definition -->
+ <activity
+ android:name="com.android.tv.setup.SystemSetupActivity"
android:configChanges="keyboard|keyboardHidden"
+ android:exported="true"
android:label="@string/bt_app_name"
android:launchMode="singleInstance"
- android:process="com.android.tv.tuner"
android:theme="@style/Theme.Setup.GuidedStep" >
<intent-filter>
- <action android:name="android.intent.action.MAIN" />
- </intent-filter>
- </activity>
-
- <service android:name=".tuner.tvinput.TunerTvInputService"
- android:enabled="false"
- android:process="com.android.tv.tuner"
- android:label="@string/bt_app_name"
- android:permission="android.permission.BIND_TV_INPUT" >
- <intent-filter>
- <action android:name="android.media.tv.TvInputService" />
- </intent-filter>
- <meta-data android:name="android.media.tv.input"
- android:resource="@xml/ut_tvinputservice" />
- </service>
- <service android:name=".tuner.exoplayer.ffmpeg.FfmpegDecoderService"
- android:isolatedProcess="true"
- android:process="com.android.tv.ffmpeg" >
- <intent-filter>
- <action android:name=".tuner.exoplayer.ffmpeg.IFfmpegDecoder" />
- </intent-filter>
- </service>
- <provider android:name=".tuner.TunerPreferenceProvider"
- android:authorities="com.android.tv.tuner.preferences"
- android:process="com.android.tv.tuner"
- android:exported="false" />
- <!-- System initial setup component definition -->
- <activity android:name=".setup.SystemSetupActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:label="@string/bt_app_name"
- android:launchMode="singleInstance"
- android:theme="@style/Theme.Setup.GuidedStep" >
- <intent-filter>
<action android:name="com.android.tv.action.LAUNCH_SYSTEM_SETUP" />
+
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
- <!-- TunerInputController should be the same process with MainActivity to check status of MainActivity -->
- <receiver android:name=".tuner.TunerInputController$IntentReceiver"
- android:exported="false">
+ <!--
+ TunerInputController should be the same process with MainActivity to check status
+ of MainActivity
+ -->
+ <receiver
+ android:name="com.android.tv.tuner.TunerInputController$IntentReceiver"
+ android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
@@ -267,20 +279,56 @@
<action android:name="com.android.tv.action.NETWORK_TUNER_ATTACHED" />
<action android:name="com.android.tv.action.NETWORK_TUNER_DETACHED" />
</intent-filter>
- </receiver>
+ </receiver> <!-- DVR -->
+ <service
+ android:name="com.android.tv.dvr.recorder.DvrRecordingService"
+ android:label="@string/dvr_service_name" />
- <!-- DVR -->
- <service android:name=".dvr.recorder.DvrRecordingService" android:label="@string/dvr_service_name" />
- <receiver android:name=".dvr.recorder.DvrStartRecordingReceiver" />
+ <receiver android:name="com.android.tv.dvr.recorder.DvrStartRecordingReceiver" />
- <service android:name=".tuner.tvinput.TunerStorageCleanUpService"
+ <service
+ android:name="com.android.tv.tuner.tvinput.TunerStorageCleanUpService"
+ android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE"
- android:process="com.android.tv.tuner"
- android:exported="true" />
-
- <service android:name=".data.epg.EpgFetcher$EpgFetchService"
+ android:process="com.android.tv.tuner" />
+ <service
+ android:name="com.android.tv.data.epg.EpgFetchService"
android:permission="android.permission.BIND_JOB_SERVICE" />
+ <receiver
+ android:name="com.android.tv.livetv.receiver.GlobalKeyReceiver"
+ android:exported="true" >
+ <intent-filter>
+ <action android:name="android.intent.action.GLOBAL_BUTTON" />
+ </intent-filter>
+ <!--
+ Not directly related to GlobalKeyReceiver but needed to be able to provide our
+ content rating definitions to the system service.
+ -->
+ <intent-filter>
+ <action android:name="android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS" />
+ </intent-filter>
+
+ <meta-data
+ android:name="android.media.tv.metadata.CONTENT_RATING_SYSTEMS"
+ android:resource="@xml/tv_content_rating_systems" />
+ </receiver>
+
+ <service
+ android:name="com.android.tv.tuner.livetuner.LiveTvTunerTvInputService"
+ android:enabled="false"
+ android:label="@string/bt_app_name"
+ android:permission="android.permission.BIND_TV_INPUT"
+ android:process="com.android.tv.tuner" >
+ <intent-filter>
+ <action android:name="android.media.tv.TvInputService" />
+ </intent-filter>
+
+ <meta-data
+ android:name="android.media.tv.input"
+ android:resource="@xml/ut_tvinputservice" />
+ </service>
</application>
-</manifest>
+
+</manifest> \ No newline at end of file