From 40fa578aeecec89ff6d28524491b6254913b3a36 Mon Sep 17 00:00:00 2001 From: Jing Ji Date: Thu, 12 Jan 2023 16:57:17 -0800 Subject: [PATCH] Hide the FILE_MANAGEMENT foreground service type As we've un-deprecated the DATA_SYNC, the FILE_MANAGEMENT is actually a subset of it. Bug: 20860337 Test: atest CtsAppFgsTestCases Change-Id: I30989d6c5da92f16ac8f923becd0998de9ee62ca --- core/api/current.txt | 2 -- core/java/android/content/pm/ServiceInfo.java | 2 ++ core/res/AndroidManifest.xml | 1 + core/res/res/values/attrs_manifest.xml | 4 +++- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt index 19123bba2b5d8..feff4b0b7ec84 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -95,7 +95,6 @@ package android { field public static final String FOREGROUND_SERVICE_CAMERA = "android.permission.FOREGROUND_SERVICE_CAMERA"; field public static final String FOREGROUND_SERVICE_CONNECTED_DEVICE = "android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE"; field public static final String FOREGROUND_SERVICE_DATA_SYNC = "android.permission.FOREGROUND_SERVICE_DATA_SYNC"; - field public static final String FOREGROUND_SERVICE_FILE_MANAGEMENT = "android.permission.FOREGROUND_SERVICE_FILE_MANAGEMENT"; field public static final String FOREGROUND_SERVICE_HEALTH = "android.permission.FOREGROUND_SERVICE_HEALTH"; field public static final String FOREGROUND_SERVICE_LOCATION = "android.permission.FOREGROUND_SERVICE_LOCATION"; field public static final String FOREGROUND_SERVICE_MEDIA_PLAYBACK = "android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"; @@ -12694,7 +12693,6 @@ package android.content.pm { field @RequiresPermission(allOf={android.Manifest.permission.FOREGROUND_SERVICE_CAMERA}, anyOf={android.Manifest.permission.CAMERA}, conditional=true) public static final int FOREGROUND_SERVICE_TYPE_CAMERA = 64; // 0x40 field @RequiresPermission(allOf={android.Manifest.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE}, anyOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.CHANGE_NETWORK_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_MULTICAST_STATE, android.Manifest.permission.NFC, android.Manifest.permission.TRANSMIT_IR}, conditional=true) public static final int FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE = 16; // 0x10 field @RequiresPermission(value=android.Manifest.permission.FOREGROUND_SERVICE_DATA_SYNC, conditional=true) public static final int FOREGROUND_SERVICE_TYPE_DATA_SYNC = 1; // 0x1 - field @RequiresPermission(android.Manifest.permission.FOREGROUND_SERVICE_FILE_MANAGEMENT) public static final int FOREGROUND_SERVICE_TYPE_FILE_MANAGEMENT = 4096; // 0x1000 field @RequiresPermission(allOf={android.Manifest.permission.FOREGROUND_SERVICE_HEALTH}, anyOf={android.Manifest.permission.ACTIVITY_RECOGNITION, android.Manifest.permission.BODY_SENSORS, android.Manifest.permission.HIGH_SAMPLING_RATE_SENSORS}) public static final int FOREGROUND_SERVICE_TYPE_HEALTH = 256; // 0x100 field @RequiresPermission(allOf={android.Manifest.permission.FOREGROUND_SERVICE_LOCATION}, anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public static final int FOREGROUND_SERVICE_TYPE_LOCATION = 8; // 0x8 field public static final int FOREGROUND_SERVICE_TYPE_MANIFEST = -1; // 0xffffffff diff --git a/core/java/android/content/pm/ServiceInfo.java b/core/java/android/content/pm/ServiceInfo.java index 4e2acc0363868..2c0c38de000de 100644 --- a/core/java/android/content/pm/ServiceInfo.java +++ b/core/java/android/content/pm/ServiceInfo.java @@ -420,6 +420,8 @@ public class ServiceInfo extends ComponentInfo * the {@link android.R.attr#foregroundServiceType} attribute. * The file management use case which manages files/directories, often involving file I/O * across the file system. + * + * @hide */ @RequiresPermission( value = Manifest.permission.FOREGROUND_SERVICE_FILE_MANAGEMENT diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 81b3af0e0e60e..89701f4e05422 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -6470,6 +6470,7 @@ Requires the app to hold the permission {@link android.Manifest.permission#FOREGROUND_SERVICE_FILE_MANAGEMENT} in order to use this type. + + TODO: b/258855262 mark this field as {@code hide} once this bug is fixed. + --> -