Merge "Add an exported flag in manifest"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0cbc55d..854f288 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -15,296 +15,262 @@
~ limitations under the License.
-->
<!-- This manifest is for LiveTv -->
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- package="com.android.tv" >
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.android.tv">
- <uses-sdk
- android:minSdkVersion="23"
- android:targetSdkVersion="29" />
+ <uses-sdk android:minSdkVersion="23"
+ android:targetSdkVersion="29"/>
- <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.FOREGROUND_SERVICE" />
- <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" />
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.READ_TV_LISTINGS" />
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" />
- <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" />
+ <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.FOREGROUND_SERVICE"/>
+ <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"/>
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.READ_TV_LISTINGS"/>
+ <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA"/>
+ <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-permission android:name="android.permission.DVB_DEVICE"/>
- <uses-feature
- android:name="android.hardware.usb.host"
- 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" />
+ <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:description="@string/permdesc_receiveInputEvent"
- android:label="@string/permlab_receiveInputEvent"
- android:protectionLevel="signatureOrSystem" />
+ <permission android:name="com.android.tv.permission.RECEIVE_INPUT_EVENT"
+ android:description="@string/permdesc_receiveInputEvent"
+ 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:description="@string/permdesc_customizeTvApp"
- android:label="@string/permlab_customizeTvApp"
- android:protectionLevel="signatureOrSystem" />
+ <permission android:name="com.android.tv.permission.CUSTOMIZE_TV_APP"
+ android:description="@string/permdesc_customizeTvApp"
+ android:label="@string/permlab_customizeTvApp"
+ android:protectionLevel="signatureOrSystem"/>
- <application
- android:name="com.android.tv.app.LiveTvApplication"
- android:allowBackup="true"
- android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
- android:banner="@drawable/live_tv_banner"
- android:icon="@drawable/ic_tv_app"
- android:label="@string/app_name"
- android:supportsRtl="true"
- android:theme="@style/Theme.TV"
- tools:replace="android:appComponentFactory" >
+ <application android:name="com.android.tv.app.LiveTvApplication"
+ android:allowBackup="true"
+ android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
+ android:banner="@drawable/live_tv_banner"
+ android:icon="@drawable/ic_tv_app"
+ android:label="@string/app_name"
+ android:supportsRtl="true"
+ android:theme="@style/Theme.TV"
+ tools:replace="android:appComponentFactory">
<!-- 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 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" />
+ <provider android:name="com.android.tv.common.CommonPreferenceProvider"
+ android:authorities="com.android.tv.common.preferences"
+ android:exported="false"
+ android:process="com.android.tv.common"/>
- <receiver
- android:name="com.android.tv.livetv.receiver.GlobalKeyReceiver"
- android:exported="true" >
+ <receiver android:name="com.android.tv.livetv.receiver.GlobalKeyReceiver"
+ android:exported="true">
<intent-filter>
- <action android:name="android.intent.action.GLOBAL_BUTTON" />
+ <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.
- -->
+ 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" />
+ <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" />
+ <meta-data android:name="android.media.tv.metadata.CONTENT_RATING_SYSTEMS"
+ android:resource="@xml/tv_content_rating_systems"/>
</receiver>
- <activity
- android:name="com.android.tv.TvActivity"
- android:exported="true"
- android:launchMode="singleTask" >
+ <activity android:name="com.android.tv.TvActivity"
+ android:exported="true"
+ android:launchMode="singleTask">
<intent-filter>
- <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER" />
- <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
+ <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"
- android:configChanges="keyboard|keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation"
- android:launchMode="singleTask"
- android:resizeableActivity="true"
- android:screenOrientation="landscape"
- android:supportsPictureInPicture="true"
- android:theme="@style/Theme.TV.MainActivity" >
+ <activity android:name="com.android.tv.MainActivity"
+ android:configChanges="keyboard|keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation"
+ android:launchMode="singleTask"
+ android:resizeableActivity="true"
+ android:screenOrientation="landscape"
+ android:supportsPictureInPicture="true"
+ android:theme="@style/Theme.TV.MainActivity"
+ android:exported="true">
<intent-filter>
- <action android:name="android.intent.action.VIEW" />
+ <action android:name="android.intent.action.VIEW"/>
- <category android:name="android.intent.category.DEFAULT" />
+ <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" />
- <data android:mimeType="vnd.android.cursor.dir/program" />
+ <data android:mimeType="vnd.android.cursor.item/channel"/>
+ <data android:mimeType="vnd.android.cursor.dir/channel"/>
+ <data android:mimeType="vnd.android.cursor.item/program"/>
+ <data android:mimeType="vnd.android.cursor.dir/program"/>
</intent-filter>
<intent-filter>
- <action android:name="android.media.tv.action.SETUP_INPUTS" />
+ <action android:name="android.media.tv.action.SETUP_INPUTS"/>
- <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
- <action android:name="android.intent.action.SEARCH" />
+ <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"
- android:resource="@xml/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="com.android.tv.LauncherActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:theme="@android:style/Theme.Translucent.NoTitleBar" />
- <activity
- android:name="com.android.tv.SetupPassthroughActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:exported="true"
- android:theme="@android:style/Theme.Translucent.NoTitleBar" >
+ <activity android:name="com.android.tv.LauncherActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
+ <activity android:name="com.android.tv.SetupPassthroughActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:exported="true"
+ android:theme="@android:style/Theme.Translucent.NoTitleBar">
<intent-filter>
- <action android:name="com.android.tv.action.LAUNCH_INPUT_SETUP" />
+ <action android:name="com.android.tv.action.LAUNCH_INPUT_SETUP"/>
- <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
- <activity
- android:name="com.android.tv.SelectInputActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:launchMode="singleTask"
- android:theme="@style/Theme.SelectInputActivity" />
- <activity
- android:name="com.android.tv.onboarding.OnboardingActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:launchMode="singleTop"
- android:theme="@style/Theme.Setup.GuidedStep" />
- <activity
- android:name="com.android.tv.dvr.ui.browse.DvrBrowseActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:launchMode="singleTask"
- android:theme="@style/Theme.Leanback.Browse" >
+ <activity android:name="com.android.tv.SelectInputActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:launchMode="singleTask"
+ android:theme="@style/Theme.SelectInputActivity"/>
+ <activity android:name="com.android.tv.onboarding.OnboardingActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:launchMode="singleTop"
+ android:theme="@style/Theme.Setup.GuidedStep"/>
+ <activity android:name="com.android.tv.dvr.ui.browse.DvrBrowseActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:launchMode="singleTask"
+ android:theme="@style/Theme.Leanback.Browse"
+ android:exported="true">
<intent-filter>
- <action android:name="android.media.tv.action.VIEW_RECORDING_SCHEDULES" />
+ <action android:name="android.media.tv.action.VIEW_RECORDING_SCHEDULES"/>
- <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
- <action android:name="android.intent.action.VIEW" />
+ <action android:name="android.intent.action.VIEW"/>
- <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.DEFAULT"/>
- <data android:mimeType="vnd.android.cursor.dir/recorded_program" />
+ <data android:mimeType="vnd.android.cursor.dir/recorded_program"/>
</intent-filter>
</activity>
- <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" >
+ <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:exported="true">
<intent-filter>
- <action android:name="android.intent.action.VIEW" />
+ <action android:name="android.intent.action.VIEW"/>
- <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.DEFAULT"/>
- <data android:mimeType="vnd.android.cursor.item/recorded_program" />
+ <data android:mimeType="vnd.android.cursor.item/recorded_program"/>
</intent-filter>
</activity>
- <activity
- android:name="com.android.tv.ui.DetailsActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:exported="true"
- android:theme="@style/Theme.TV.Dvr.Browse.Details" />
- <activity
- android:name="com.android.tv.dvr.ui.DvrRecordingSettingsActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:exported="false"
- android:theme="@style/Theme.TV.Dvr.Series.Settings.GuidedStep" />
- <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="com.android.tv.dvr.ui.DvrSeriesDeletionActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:theme="@style/Theme.TV.Dvr.Series.Deletion.GuidedStep" />
- <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" />
+ <activity android:name="com.android.tv.ui.DetailsActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:exported="true"
+ android:theme="@style/Theme.TV.Dvr.Browse.Details"/>
+ <activity android:name="com.android.tv.dvr.ui.DvrRecordingSettingsActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:exported="false"
+ android:theme="@style/Theme.TV.Dvr.Series.Settings.GuidedStep"/>
+ <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="com.android.tv.dvr.ui.DvrSeriesDeletionActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:theme="@style/Theme.TV.Dvr.Series.Deletion.GuidedStep"/>
+ <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"/>
- <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" />
+ <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"
- android:exported="true" >
+ <receiver android:name="com.android.tv.receiver.BootCompletedReceiver"
+ android:exported="true">
<intent-filter>
- <action android:name="android.intent.action.BOOT_COMPLETED" />
+ <action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
- <receiver
- android:name="com.android.tv.receiver.PackageIntentsReceiver"
- android:exported="true" >
+ <receiver android:name="com.android.tv.receiver.PackageIntentsReceiver"
+ android:exported="true">
<intent-filter>
- <action android:name="android.intent.action.PACKAGE_ADDED" />
+ <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_FULLY_REMOVED" />
- <action android:name="android.intent.action.PACKAGE_REMOVED" />
+ <action android:name="android.intent.action.PACKAGE_CHANGED"/>
+ <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
+ <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" />
+ <action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver> <!-- System initial setup component definition -->
- <activity
- android:name="com.android.tv.setup.SystemSetupActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:exported="true"
- android:label="@string/app_name"
- android:launchMode="singleInstance"
- android:theme="@style/Theme.Setup.GuidedStep" >
+ <activity android:name="com.android.tv.setup.SystemSetupActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:exported="true"
+ android:label="@string/app_name"
+ android:launchMode="singleInstance"
+ android:theme="@style/Theme.Setup.GuidedStep">
<intent-filter>
- <action android:name="com.android.tv.action.LAUNCH_SYSTEM_SETUP" />
+ <action android:name="com.android.tv.action.LAUNCH_SYSTEM_SETUP"/>
- <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity> <!-- DVR -->
- <service
- android:name="com.android.tv.dvr.recorder.DvrRecordingService"
- android:label="@string/dvr_service_name" />
+ <service android:name="com.android.tv.dvr.recorder.DvrRecordingService"
+ android:label="@string/dvr_service_name"/>
- <receiver
- android:name="com.android.tv.dvr.recorder.DvrStartRecordingReceiver"
- android:exported="false" />
+ <receiver android:name="com.android.tv.dvr.recorder.DvrStartRecordingReceiver"
+ android:exported="false"/>
- <service
- android:name="com.android.tv.data.epg.EpgFetchService"
- android:permission="android.permission.BIND_JOB_SERVICE" />
+ <service android:name="com.android.tv.data.epg.EpgFetchService"
+ android:permission="android.permission.BIND_JOB_SERVICE"/>
</application>
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/partner_support/samples/AndroidManifest.xml b/partner_support/samples/AndroidManifest.xml
index e90e489..08aa231 100644
--- a/partner_support/samples/AndroidManifest.xml
+++ b/partner_support/samples/AndroidManifest.xml
@@ -16,41 +16,44 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- package="com.example.partnersupportsampletvinput">
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.example.partnersupportsampletvinput">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<!-- TODO: READ_EPG_DATA and WRITE_EPG_DATA need to be removed, once we fully
- migrate all test environment from LMP to MNC, because the permissions
- are not required from MNC. -->
- <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" />
- <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
- <uses-permission android:name="com.android.tv.permission.RECEIVE_INPUT_EVENT" />
- <uses-sdk android:targetSdkVersion="29" android:minSdkVersion="23"/>
+ migrate all test environment from LMP to MNC, because the permissions
+ are not required from MNC. -->
+ <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA"/>
+ <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA"/>
+ <uses-permission android:name="com.android.tv.permission.RECEIVE_INPUT_EVENT"/>
+ <uses-sdk android:targetSdkVersion="29"
+ android:minSdkVersion="23"/>
<!--TODO(b/68949299): remove tool hint when we have smaller dependency targets-->
<application android:label="@string/partner_support_sample_tv_input"
- tools:replace="android:label,icon,theme,appComponentFactory"
- android:icon="@mipmap/ic_launcher"
- android:theme="@android:style/Theme.Holo.Light.NoActionBar"
- android:appComponentFactory="android.support.v4.app.CoreComponentFactory" >
+ tools:replace="android:label,icon,theme,appComponentFactory"
+ android:icon="@mipmap/ic_launcher"
+ android:theme="@android:style/Theme.Holo.Light.NoActionBar"
+ android:appComponentFactory="android.support.v4.app.CoreComponentFactory">
<activity android:name=".SampleTvInputSetupActivity"
- android:theme="@style/Theme.Leanback.GuidedStep">
+ android:theme="@style/Theme.Leanback.GuidedStep"
+ android:exported="true">
<intent-filter>
- <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>
<service android:name=".SampleTvInputService"
- android:permission="android.permission.BIND_TV_INPUT"
- android:label="@string/partner_support_sample_tv_input"
- android:process="com.example.partnersupportsampletvinput">
+ android:permission="android.permission.BIND_TV_INPUT"
+ android:label="@string/partner_support_sample_tv_input"
+ android:process="com.example.partnersupportsampletvinput"
+ android:exported="true">
<intent-filter>
- <action android:name="android.media.tv.TvInputService" />
+ <action android:name="android.media.tv.TvInputService"/>
</intent-filter>
<meta-data android:name="android.media.tv.input"
- android:resource="@xml/sampletvinputservice" />
+ android:resource="@xml/sampletvinputservice"/>
</service>
</application>
</manifest>
diff --git a/tests/input/AndroidManifest.xml b/tests/input/AndroidManifest.xml
index e01b913..b0c8aaa 100644
--- a/tests/input/AndroidManifest.xml
+++ b/tests/input/AndroidManifest.xml
@@ -16,55 +16,55 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.tv.testinput">
+ package="com.android.tv.testinput">
- <uses-sdk android:targetSdkVersion="29" android:minSdkVersion="23"/>
+ <uses-sdk android:targetSdkVersion="29"
+ android:minSdkVersion="23"/>
<!-- Required to update or read existing channel and program information in TvProvider. -->
- <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" />
+ <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA"/>
<!-- Required to update channel and program information in TvProvider. -->
- <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
+ <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA"/>
<application android:label="@string/sample_tv_input"
- android:icon="@drawable/android_48dp"
- android:theme="@android:style/Theme.Holo.Light.NoActionBar" >
+ android:icon="@drawable/android_48dp"
+ android:theme="@android:style/Theme.Holo.Light.NoActionBar">
<!-- Launched by the TV app before it uses TestTvInputService to set up channels for this
- input. -->
- <activity android:name=".TestTvInputSetupActivity" >
+ input. -->
+ <activity android:name=".TestTvInputSetupActivity"
+ android:exported="true">
<intent-filter>
- <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>
<service android:name=".TestTvInputService"
- android:permission="android.permission.BIND_TV_INPUT"
- android:label="@string/simple_input_label">
+ android:permission="android.permission.BIND_TV_INPUT"
+ android:label="@string/simple_input_label"
+ android:exported="true">
<!-- Required filter used by the system to launch our account service. -->
<intent-filter>
- <action android:name="android.media.tv.TvInputService" />
+ <action android:name="android.media.tv.TvInputService"/>
</intent-filter>
<!-- An XML file which describes this input. This provides a pointer to the
- TestTvInputSetupActivity to the system/TV app. -->
+ TestTvInputSetupActivity to the system/TV app. -->
<meta-data android:name="android.media.tv.input"
- android:resource="@xml/testtvinputservice" />
+ android:resource="@xml/testtvinputservice"/>
</service>
- <service android:name=".TestInputControlService" android:exported="true"/>
+ <service android:name=".TestInputControlService"
+ android:exported="true"/>
</application>
- <instrumentation
- android:name=".instrument.TestSetupInstrumentation"
- android:label="Test Setup Instrument"
- android:targetPackage="com.android.tv.testinput" />
+ <instrumentation android:name=".instrument.TestSetupInstrumentation"
+ android:label="Test Setup Instrument"
+ android:targetPackage="com.android.tv.testinput"/>
- <uses-feature
- android:name="android.hardware.touchscreen"
- android:required="false" />
- <uses-feature
- android:name="android.software.leanback"
- android:required="true" />
+ <uses-feature android:name="android.hardware.touchscreen"
+ android:required="false"/>
+ <uses-feature android:name="android.software.leanback"
+ android:required="true"/>
<!-- Required to expose this app in the store only when the device has TV input framework
- with the TV app. -->
- <uses-feature
- android:name="android.software.live_tv"
- android:required="true" />
+ with the TV app. -->
+ <uses-feature android:name="android.software.live_tv"
+ android:required="true"/>
</manifest>
diff --git a/tuner/SampleDvbTuner/AndroidManifest.xml b/tuner/SampleDvbTuner/AndroidManifest.xml
index 3e31517..5b4e12c 100755
--- a/tuner/SampleDvbTuner/AndroidManifest.xml
+++ b/tuner/SampleDvbTuner/AndroidManifest.xml
@@ -14,79 +14,72 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- package="com.android.tv.tuner.sample.dvb" >
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.android.tv.tuner.sample.dvb">
- <uses-sdk
- android:minSdkVersion="23"
- android:targetSdkVersion="29" />
+ <uses-sdk android:minSdkVersion="23"
+ android:targetSdkVersion="29"/>
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS" />
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.READ_TV_LISTINGS" />
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
- <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" />
- <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+ <uses-permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS"/>
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.READ_TV_LISTINGS"/>
+ <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
+ <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA"/>
+ <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA"/>
<!-- Permission to modify Recorded Program -->
- <uses-permission android:name="com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA" />
+ <uses-permission android:name="com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA"/>
<!-- Permissions/feature for USB tuner -->
- <uses-permission android:name="android.permission.DVB_DEVICE" />
+ <uses-permission android:name="android.permission.DVB_DEVICE"/>
- <uses-feature
- android:name="android.hardware.usb.host"
- 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" />
+ <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"/>
<application tools:replace="android:appComponentFactory"
- android:name="com.android.tv.tuner.sample.dvb.app.SampleDvbTuner"
- android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
- android:icon="@mipmap/ic_launcher"
- android:label="@string/sample_dvb_tuner_app_name" >
+ android:name="com.android.tv.tuner.sample.dvb.app.SampleDvbTuner"
+ android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
+ android:icon="@mipmap/ic_launcher"
+ android:label="@string/sample_dvb_tuner_app_name">
- <activity
- android:name="com.android.tv.tuner.sample.dvb.setup.SampleDvbTunerSetupActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:exported="true"
- android:label="@string/sample_dvb_tuner_app_name"
- android:launchMode="singleInstance"
- android:theme="@style/Theme.Setup.GuidedStep" >
+ <activity android:name="com.android.tv.tuner.sample.dvb.setup.SampleDvbTunerSetupActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:exported="true"
+ android:label="@string/sample_dvb_tuner_app_name"
+ android:launchMode="singleInstance"
+ android:theme="@style/Theme.Setup.GuidedStep">
<intent-filter>
- <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>
- <service
- android:name="com.android.tv.tuner.sample.dvb.tvinput.SampleDvbTunerTvInputService"
- android:label="@string/sample_dvb_tuner_app_name"
- android:permission="android.permission.BIND_TV_INPUT"
- android:process="com.android.tv.tuner.sample.dvb.tvinput" >
+ <service android:name="com.android.tv.tuner.sample.dvb.tvinput.SampleDvbTunerTvInputService"
+ android:label="@string/sample_dvb_tuner_app_name"
+ android:permission="android.permission.BIND_TV_INPUT"
+ android:process="com.android.tv.tuner.sample.dvb.tvinput"
+ android:exported="true">
<intent-filter>
- <action android:name="android.media.tv.TvInputService" />
+ <action android:name="android.media.tv.TvInputService"/>
</intent-filter>
- <meta-data
- android:name="android.media.tv.input"
- android:resource="@xml/sample_dvb_tvinputservice" />
+ <meta-data android:name="android.media.tv.input"
+ android:resource="@xml/sample_dvb_tvinputservice"/>
</service>
- <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" />
+ <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"/>
</application>
</manifest>
diff --git a/tuner/SampleNetworkTuner/AndroidManifest.xml b/tuner/SampleNetworkTuner/AndroidManifest.xml
index 348bfaa..60110a3 100755
--- a/tuner/SampleNetworkTuner/AndroidManifest.xml
+++ b/tuner/SampleNetworkTuner/AndroidManifest.xml
@@ -14,80 +14,73 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- package="com.android.tv.tuner.sample.network" >
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.android.tv.tuner.sample.network">
- <uses-sdk
- android:minSdkVersion="23"
- android:targetSdkVersion="29" />
+ <uses-sdk android:minSdkVersion="23"
+ android:targetSdkVersion="29"/>
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS" />
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.READ_TV_LISTINGS" />
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
- <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" />
- <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+ <uses-permission android:name="android.permission.INTERNET"/>
+ <uses-permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS"/>
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.READ_TV_LISTINGS"/>
+ <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
+ <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA"/>
+ <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA"/>
<!-- Permission to modify Recorded Program -->
- <uses-permission android:name="com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA" />
+ <uses-permission android:name="com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA"/>
<!-- Permissions/feature for USB tuner -->
- <uses-permission android:name="android.permission.DVB_DEVICE" />
+ <uses-permission android:name="android.permission.DVB_DEVICE"/>
- <uses-feature
- android:name="android.hardware.usb.host"
- 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" />
+ <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"/>
<application tools:replace="android:appComponentFactory"
- android:name="com.android.tv.tuner.sample.network.app.SampleNetworkTuner"
- android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
- android:icon="@mipmap/ic_launcher"
- android:label="@string/sample_network_tuner_app_name" >
+ android:name="com.android.tv.tuner.sample.network.app.SampleNetworkTuner"
+ android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
+ android:icon="@mipmap/ic_launcher"
+ android:label="@string/sample_network_tuner_app_name">
- <activity
- android:name="com.android.tv.tuner.sample.network.setup.SampleNetworkTunerSetupActivity"
- android:configChanges="keyboard|keyboardHidden"
- android:exported="true"
- android:label="@string/sample_network_tuner_app_name"
- android:launchMode="singleInstance"
- android:theme="@style/Theme.Setup.GuidedStep" >
+ <activity android:name="com.android.tv.tuner.sample.network.setup.SampleNetworkTunerSetupActivity"
+ android:configChanges="keyboard|keyboardHidden"
+ android:exported="true"
+ android:label="@string/sample_network_tuner_app_name"
+ android:launchMode="singleInstance"
+ android:theme="@style/Theme.Setup.GuidedStep">
<intent-filter>
- <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>
- <service
- android:name="com.android.tv.tuner.sample.network.tvinput.SampleNetworkTunerTvInputService"
- android:label="@string/sample_network_tuner_app_name"
- android:permission="android.permission.BIND_TV_INPUT"
- android:process="com.android.tv.tuner.sample.network.tvinput" >
+ <service android:name="com.android.tv.tuner.sample.network.tvinput.SampleNetworkTunerTvInputService"
+ android:label="@string/sample_network_tuner_app_name"
+ android:permission="android.permission.BIND_TV_INPUT"
+ android:process="com.android.tv.tuner.sample.network.tvinput"
+ android:exported="true">
<intent-filter>
- <action android:name="android.media.tv.TvInputService" />
+ <action android:name="android.media.tv.TvInputService"/>
</intent-filter>
- <meta-data
- android:name="android.media.tv.input"
- android:resource="@xml/sample_network_tvinputservice" />
+ <meta-data android:name="android.media.tv.input"
+ android:resource="@xml/sample_network_tvinputservice"/>
</service>
- <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" />
+ <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"/>
</application>
</manifest>