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

Commit 43784e95 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:...

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

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

Change-Id: I754edd077be6fe19e2b80227eae3929f08f04e31
parents 7109bd6f e2902b27
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()));
        }
    }