Adding in hook to FGS metrics module in MediaSessionRecord.
Test: manual testing on device Change-Id: I78147627b399f0756e3b4d205d843d1a3006af5e Bug: b/263304156
This commit is contained in:
@@ -17,6 +17,8 @@
|
||||
package com.android.server.media;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.ActivityManagerInternal;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@@ -55,6 +57,8 @@ import android.util.EventLog;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
|
||||
import com.android.server.LocalServices;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -422,6 +426,13 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
|
||||
*/
|
||||
@Override
|
||||
public void close() {
|
||||
// Log the session's active state
|
||||
// to measure usage of foreground service resources
|
||||
int callingUid = Binder.getCallingUid();
|
||||
int callingPid = Binder.getCallingPid();
|
||||
LocalServices.getService(ActivityManagerInternal.class)
|
||||
.logFgsApiEnd(ActivityManager.FOREGROUND_SERVICE_API_TYPE_MEDIA_PLAYBACK,
|
||||
callingUid, callingPid);
|
||||
synchronized (mLock) {
|
||||
if (mDestroyed) {
|
||||
return;
|
||||
@@ -884,8 +895,22 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
|
||||
|
||||
@Override
|
||||
public void setActive(boolean active) throws RemoteException {
|
||||
// Log the session's active state
|
||||
// to measure usage of foreground service resources
|
||||
int callingUid = Binder.getCallingUid();
|
||||
int callingPid = Binder.getCallingPid();
|
||||
if (active) {
|
||||
LocalServices.getService(ActivityManagerInternal.class)
|
||||
.logFgsApiBegin(ActivityManager.FOREGROUND_SERVICE_API_TYPE_MEDIA_PLAYBACK,
|
||||
callingUid, callingPid);
|
||||
} else {
|
||||
LocalServices.getService(ActivityManagerInternal.class)
|
||||
.logFgsApiEnd(ActivityManager.FOREGROUND_SERVICE_API_TYPE_MEDIA_PLAYBACK,
|
||||
callingUid, callingPid);
|
||||
}
|
||||
|
||||
mIsActive = active;
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
long token = Binder.clearCallingIdentity();
|
||||
try {
|
||||
mService.onSessionActiveStateChanged(MediaSessionRecord.this);
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user