From 06265a3b9b12067133b9d437637b7703eb31832c Mon Sep 17 00:00:00 2001 From: Narayan Kamath Date: Wed, 6 Mar 2019 15:45:48 +0000 Subject: [PATCH] ServiceInfo: Add a new foreground service type for MediaProjection. Test: make Bug: 124753835 Change-Id: I328a03abc73d1abb523cd51334b57dabb9423669 --- api/current.txt | 1 + core/java/android/content/pm/ServiceInfo.java | 8 ++++++++ core/res/res/values/attrs_manifest.xml | 3 +++ 3 files changed, 12 insertions(+) diff --git a/api/current.txt b/api/current.txt index 7b04dde964026..d57057dcc8f69 100644 --- a/api/current.txt +++ b/api/current.txt @@ -11941,6 +11941,7 @@ package android.content.pm { field public static final int FOREGROUND_SERVICE_TYPE_LOCATION = 8; // 0x8 field public static final int FOREGROUND_SERVICE_TYPE_MANIFEST = -1; // 0xffffffff field public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK = 2; // 0x2 + field public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION = 32; // 0x20 field public static final int FOREGROUND_SERVICE_TYPE_NONE = 0; // 0x0 field public static final int FOREGROUND_SERVICE_TYPE_PHONE_CALL = 4; // 0x4 field public int flags; diff --git a/core/java/android/content/pm/ServiceInfo.java b/core/java/android/content/pm/ServiceInfo.java index cd40c95b57370..00507e1548a6b 100644 --- a/core/java/android/content/pm/ServiceInfo.java +++ b/core/java/android/content/pm/ServiceInfo.java @@ -139,6 +139,13 @@ public class ServiceInfo extends ComponentInfo */ public static final int FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE = 1 << 4; + /** + * Constant corresponding to {@code mediaProjection} in + * the {@link android.R.attr#foregroundServiceType} attribute. + * Managing a media projection session, e.g for screen recording or taking screenshots. + */ + public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION = 1 << 5; + /** * A special value indicates to use all types set in manifest file. */ @@ -158,6 +165,7 @@ public class ServiceInfo extends ComponentInfo FOREGROUND_SERVICE_TYPE_PHONE_CALL, FOREGROUND_SERVICE_TYPE_LOCATION, FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE, + FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION, }) @Retention(RetentionPolicy.SOURCE) public @interface ForegroundServiceType {} diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml index fc7b4cf05b569..44f44d4480d66 100644 --- a/core/res/res/values/attrs_manifest.xml +++ b/core/res/res/values/attrs_manifest.xml @@ -1473,6 +1473,9 @@ + +