Merge "Logging the caller uid state with AlarmScheduled atom" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
fd94d33a17
@@ -2052,10 +2052,11 @@ public class AlarmManagerService extends SystemService {
|
|||||||
+ " -- package not allowed to start");
|
+ " -- package not allowed to start");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
final int callerProcState = mActivityManagerInternal.getUidProcessState(callingUid);
|
||||||
removeLocked(operation, directReceiver, REMOVE_REASON_UNDEFINED);
|
removeLocked(operation, directReceiver, REMOVE_REASON_UNDEFINED);
|
||||||
incrementAlarmCount(a.uid);
|
incrementAlarmCount(a.uid);
|
||||||
setImplLocked(a);
|
setImplLocked(a);
|
||||||
MetricsHelper.pushAlarmScheduled(a);
|
MetricsHelper.pushAlarmScheduled(a, callerProcState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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.internal.util.FrameworkStatsLog.ALARM_SCHEDULED__EXACT_ALARM_ALLOWED_REASON__PERMISSION;
|
||||||
import static com.android.server.alarm.AlarmManagerService.INDEFINITE_DELAY;
|
import static com.android.server.alarm.AlarmManagerService.INDEFINITE_DELAY;
|
||||||
|
|
||||||
|
import android.app.ActivityManager;
|
||||||
import android.app.AlarmManager;
|
import android.app.AlarmManager;
|
||||||
import android.app.StatsManager;
|
import android.app.StatsManager;
|
||||||
import android.content.Context;
|
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.write(
|
||||||
FrameworkStatsLog.ALARM_SCHEDULED,
|
FrameworkStatsLog.ALARM_SCHEDULED,
|
||||||
a.uid,
|
a.uid,
|
||||||
@@ -103,7 +104,8 @@ class MetricsHelper {
|
|||||||
a.alarmClock != null,
|
a.alarmClock != null,
|
||||||
a.repeatInterval != 0,
|
a.repeatInterval != 0,
|
||||||
reasonToStatsReason(a.mExactAllowReason),
|
reasonToStatsReason(a.mExactAllowReason),
|
||||||
AlarmManagerService.isRtc(a.type));
|
AlarmManagerService.isRtc(a.type),
|
||||||
|
ActivityManager.processStateAmToProto(callerProcState));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void pushAlarmBatchDelivered(int numAlarms, int wakeups) {
|
static void pushAlarmBatchDelivered(int numAlarms, int wakeups) {
|
||||||
|
|||||||
@@ -3002,7 +3002,8 @@ public class AlarmManagerServiceTest {
|
|||||||
final PendingIntent pi = getNewMockPendingIntent();
|
final PendingIntent pi = getNewMockPendingIntent();
|
||||||
setTestAlarm(ELAPSED_REALTIME, mNowElapsedTest + i, pi);
|
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()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user