From 51e431932ac8fa73d4900c8bbe6c4841779118e3 Mon Sep 17 00:00:00 2001 From: Makoto Onuki Date: Fri, 28 Apr 2023 14:08:13 -0700 Subject: [PATCH] Add UID states and capabiliites to FGS atom Bug: 270963079 Test: statsd_testdrive 60 Then start an FGS and make sure the new fields are filled in. Change-Id: I0388b53a85b0c9dbf6089a662fac47cb60685a60 --- core/java/android/app/ActivityManager.java | 1 + .../java/com/android/server/am/ActiveServices.java | 6 +++++- .../am/ForegroundServiceTypeLoggerModule.java | 13 +++++++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index 521bf05d9d4f9..e2ef00525902e 100644 --- a/core/java/android/app/ActivityManager.java +++ b/core/java/android/app/ActivityManager.java @@ -771,6 +771,7 @@ public class ActivityManager { /** * The set of flags for process capability. + * Keep it in sync with ProcessCapability in atoms.proto. * @hide */ @IntDef(flag = true, prefix = { "PROCESS_CAPABILITY_" }, value = { diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java index cf09fde9ec2cc..865ba82175123 100644 --- a/services/core/java/com/android/server/am/ActiveServices.java +++ b/services/core/java/com/android/server/am/ActiveServices.java @@ -8217,7 +8217,11 @@ public final class ActiveServices { : ForegroundServiceDelegationOptions.DELEGATION_SERVICE_DEFAULT, 0 /* api_sate */, null /* api_type */, - null /* api_timestamp */); + null /* api_timestamp */, + mAm.getUidStateLocked(r.appInfo.uid), + mAm.getUidProcessCapabilityLocked(r.appInfo.uid), + mAm.getUidStateLocked(r.mRecentCallingUid), + mAm.getUidProcessCapabilityLocked(r.mRecentCallingUid)); int event = 0; if (state == FOREGROUND_SERVICE_STATE_CHANGED__STATE__ENTER) { diff --git a/services/core/java/com/android/server/am/ForegroundServiceTypeLoggerModule.java b/services/core/java/com/android/server/am/ForegroundServiceTypeLoggerModule.java index 8f84b08ff6a66..490a0232bfaab 100644 --- a/services/core/java/com/android/server/am/ForegroundServiceTypeLoggerModule.java +++ b/services/core/java/com/android/server/am/ForegroundServiceTypeLoggerModule.java @@ -28,6 +28,7 @@ import static android.app.ActivityManager.FOREGROUND_SERVICE_API_TYPE_USB; import static android.os.Process.INVALID_UID; import android.annotation.IntDef; +import android.app.ActivityManager; import android.app.ActivityManager.ForegroundServiceApiType; import android.app.ForegroundServiceDelegationOptions; import android.content.ComponentName; @@ -466,7 +467,11 @@ public class ForegroundServiceTypeLoggerModule { : ForegroundServiceDelegationOptions.DELEGATION_SERVICE_DEFAULT, apiState, apiType, - timestamp); + timestamp, + ActivityManager.PROCESS_STATE_UNKNOWN, + ActivityManager.PROCESS_CAPABILITY_NONE, + ActivityManager.PROCESS_STATE_UNKNOWN, + ActivityManager.PROCESS_CAPABILITY_NONE); } /** @@ -500,7 +505,11 @@ public class ForegroundServiceTypeLoggerModule { 0, apiState, apiType, - timestamp); + timestamp, + ActivityManager.PROCESS_STATE_UNKNOWN, + ActivityManager.PROCESS_CAPABILITY_NONE, + ActivityManager.PROCESS_STATE_UNKNOWN, + ActivityManager.PROCESS_CAPABILITY_NONE); } /**