diff options
3 files changed, 8 insertions, 4 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java b/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java index 98e963e113e6..86fa06cdb8dc 100644 --- a/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java +++ b/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java @@ -2052,10 +2052,11 @@ public class AlarmManagerService extends SystemService { + " -- package not allowed to start"); return; } + final int callerProcState = mActivityManagerInternal.getUidProcessState(callingUid); removeLocked(operation, directReceiver, REMOVE_REASON_UNDEFINED); incrementAlarmCount(a.uid); setImplLocked(a); - MetricsHelper.pushAlarmScheduled(a); + MetricsHelper.pushAlarmScheduled(a, callerProcState); } /** diff --git a/apex/jobscheduler/service/java/com/android/server/alarm/MetricsHelper.java b/apex/jobscheduler/service/java/com/android/server/alarm/MetricsHelper.java index 4e7311f10252..4c2f8d124566 100644 --- a/apex/jobscheduler/service/java/com/android/server/alarm/MetricsHelper.java +++ b/apex/jobscheduler/service/java/com/android/server/alarm/MetricsHelper.java @@ -22,6 +22,7 @@ import static com.android.internal.util.FrameworkStatsLog.ALARM_SCHEDULED__EXACT import static com.android.internal.util.FrameworkStatsLog.ALARM_SCHEDULED__EXACT_ALARM_ALLOWED_REASON__PERMISSION; import static com.android.server.alarm.AlarmManagerService.INDEFINITE_DELAY; +import android.app.ActivityManager; import android.app.AlarmManager; import android.app.StatsManager; import android.content.Context; @@ -93,7 +94,7 @@ class MetricsHelper { } } - static void pushAlarmScheduled(Alarm a) { + static void pushAlarmScheduled(Alarm a, int callerProcState) { FrameworkStatsLog.write( FrameworkStatsLog.ALARM_SCHEDULED, a.uid, @@ -103,7 +104,8 @@ class MetricsHelper { a.alarmClock != null, a.repeatInterval != 0, reasonToStatsReason(a.mExactAllowReason), - AlarmManagerService.isRtc(a.type)); + AlarmManagerService.isRtc(a.type), + ActivityManager.processStateAmToProto(callerProcState)); } static void pushAlarmBatchDelivered(int numAlarms, int wakeups) { diff --git a/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java b/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java index a254f68e8bed..16afef57d31e 100644 --- a/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java @@ -3002,7 +3002,8 @@ public class AlarmManagerServiceTest { final PendingIntent pi = getNewMockPendingIntent(); setTestAlarm(ELAPSED_REALTIME, mNowElapsedTest + i, pi); - verify(() -> MetricsHelper.pushAlarmScheduled(argThat(a -> a.matches(pi, null)))); + verify(() -> MetricsHelper.pushAlarmScheduled(argThat(a -> a.matches(pi, null)), + anyInt())); } } |