summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Bishoy Gendy <bishoygendy@google.com> 2024-02-22 09:25:38 +0000
committer Bishoy Gendy <bishoygendy@google.com> 2024-02-29 12:01:10 +0000
commitdfc99e591404fec9a415f231bd4cacbb32a36a23 (patch)
tree209e2bd7b7b5f7505cbae3f85ca0683c0dc76d7a
parente2484b21c24c5cd2a0e84540d3e9d4f1516134a4 (diff)
Ignore setForegroundAllowance calls in case of MediaSession2
- For an app to fullfill FGS requirements, it needs to have a user-engaged media session that is linked to a media style notification. - Currently notifications can't be linked to a MediaSession2, so we don't report the changes in user engagement in cases of MediaSession2. Bug: 295518668 Test: Non functional change for non MediaSession2 cases. Change-Id: Iae81139a20b39e9f59dfacc43512a00c7abd8f05
-rw-r--r--services/core/java/com/android/server/media/MediaSession2Record.java25
-rw-r--r--services/core/java/com/android/server/media/MediaSessionService.java4
2 files changed, 5 insertions, 24 deletions
diff --git a/services/core/java/com/android/server/media/MediaSession2Record.java b/services/core/java/com/android/server/media/MediaSession2Record.java
index 7af5c08f5ffa..1dc86f2b7f1e 100644
--- a/services/core/java/com/android/server/media/MediaSession2Record.java
+++ b/services/core/java/com/android/server/media/MediaSession2Record.java
@@ -56,7 +56,6 @@ public class MediaSession2Record extends MediaSessionRecordImpl {
private boolean mIsClosed;
private final int mPid;
- private final ForegroundServiceDelegationOptions mForegroundServiceDelegationOptions;
public MediaSession2Record(
Session2Token sessionToken,
@@ -76,25 +75,6 @@ public class MediaSession2Record extends MediaSessionRecordImpl {
.build();
mPid = pid;
mPolicies = policies;
- mForegroundServiceDelegationOptions =
- new ForegroundServiceDelegationOptions.Builder()
- .setClientPid(mPid)
- .setClientUid(getUid())
- .setClientPackageName(getPackageName())
- .setClientAppThread(null)
- .setSticky(false)
- .setClientInstanceName(
- "MediaSessionFgsDelegate_"
- + getUid()
- + "_"
- + mPid
- + "_"
- + getPackageName())
- .setForegroundServiceTypes(0)
- .setDelegationService(
- ForegroundServiceDelegationOptions
- .DELEGATION_SERVICE_MEDIA_PLAYBACK)
- .build();
}
}
@@ -119,7 +99,10 @@ public class MediaSession2Record extends MediaSessionRecordImpl {
@Override
public ForegroundServiceDelegationOptions getForegroundServiceDelegationOptions() {
- return mForegroundServiceDelegationOptions;
+ // For an app to be eligible for FGS delegation, it needs a media session liked to a media
+ // notification. Currently, notifications cannot be linked to MediaSession2 so it is not
+ // supported.
+ return null;
}
@Override
diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java
index 8096c0627674..cde5606cf74d 100644
--- a/services/core/java/com/android/server/media/MediaSessionService.java
+++ b/services/core/java/com/android/server/media/MediaSessionService.java
@@ -610,9 +610,7 @@ public class MediaSessionService extends SystemService implements Monitor {
}
ForegroundServiceDelegationOptions foregroundServiceDelegationOptions =
record.getForegroundServiceDelegationOptions();
- if (foregroundServiceDelegationOptions == null
- || foregroundServiceDelegationOptions.mClientPid == Process.INVALID_PID) {
- // This record doesn't support FGS delegation. In practice, this is MediaSession2.
+ if (foregroundServiceDelegationOptions == null) {
return;
}
if (allowRunningInForeground) {