Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d243642 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Logging the caller uid state with AlarmScheduled atom" into sc-dev am: fd94d33a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15345290

Change-Id: Ib495354f690d9f11a60566cad022060fc6120c7b
parents 2446c0eb fd94d33a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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);
    }

    /**
+4 −2
Original line number Diff line number Diff line
@@ -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) {
+2 −1
Original line number Diff line number Diff line
@@ -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()));
        }
    }