Specify foreground service type and permissions for FGS under
frameworks/base.
TO meet the U requirement that apps targetSdkVersion U+ must specify
foreground service type and permissions.
Bug: 262580021
Test: build and run.
Change-Id: I2e305c1945d3cc3dc4f0f8e4ef8b19dd2de636a5
diff --git a/packages/DynamicSystemInstallationService/AndroidManifest.xml b/packages/DynamicSystemInstallationService/AndroidManifest.xml
index 1765348..b194738 100644
--- a/packages/DynamicSystemInstallationService/AndroidManifest.xml
+++ b/packages/DynamicSystemInstallationService/AndroidManifest.xml
@@ -3,6 +3,7 @@
android:sharedUserId="android.uid.system">
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MANAGE_DYNAMIC_SYSTEM" />
<uses-permission android:name="android.permission.REBOOT" />
@@ -19,6 +20,7 @@
android:enabled="true"
android:exported="true"
android:permission="android.permission.INSTALL_DYNAMIC_SYSTEM"
+ android:foregroundServiceType="systemExempted"
android:process=":dynsystem">
<intent-filter>
<action android:name="android.os.image.action.NOTIFY_IF_IN_USE" />
diff --git a/packages/PackageInstaller/AndroidManifest.xml b/packages/PackageInstaller/AndroidManifest.xml
index 696ea4a..9e249c4 100644
--- a/packages/PackageInstaller/AndroidManifest.xml
+++ b/packages/PackageInstaller/AndroidManifest.xml
@@ -18,6 +18,8 @@
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED" />
<uses-permission android:name="com.google.android.permission.INSTALL_WEARABLE_PACKAGES" />
@@ -140,6 +142,7 @@
<!-- Wearable Components -->
<service android:name=".wear.WearPackageInstallerService"
android:permission="com.google.android.permission.INSTALL_WEARABLE_PACKAGES"
+ android:foregroundServiceType="systemExempted"
android:exported="true"/>
<provider android:name=".wear.WearPackageIconProvider"
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml
index af4d7d4..d319fdf 100644
--- a/packages/Shell/AndroidManifest.xml
+++ b/packages/Shell/AndroidManifest.xml
@@ -794,6 +794,9 @@
<!-- Permission required for CTS test - CtsPackageInstallTestCases-->
<uses-permission android:name="android.permission.GET_APP_METADATA" />
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED"/>
+
<application android:label="@string/app_label"
android:theme="@android:style/Theme.DeviceDefault.DayNight"
android:defaultToDeviceProtectedStorage="true"
@@ -871,6 +874,7 @@
<service
android:name=".BugreportProgressService"
+ android:foregroundServiceType="systemExempted"
android:exported="false"/>
</application>
</manifest>
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index cefcf06..2c9dad9 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -170,6 +170,7 @@
<!-- Screen Recording -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"/>
@@ -414,7 +415,8 @@
android:process=":screenshot_cross_profile"
android:exported="false" />
- <service android:name=".screenrecord.RecordingService" />
+ <service android:name=".screenrecord.RecordingService"
+ android:foregroundServiceType="systemExempted"/>
<receiver android:name=".SysuiRestartReceiver"
android:exported="false">