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

Commit eec5acf1 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: I34f34a0e7b50ed04548c8c9672538aafcfe85758
parents 95b87d42 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()));
        }
    }