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

Commit e6ab4d71 authored by Suprabh Shukla's avatar Suprabh Shukla
Browse files

Add trigger type job for logging process starts

Also renaming some trigger type fields to be consistent.

Test: Manually after running:
m -j statsd_testdrive && statsd_testdrive 169

Bug: 242928495
Change-Id: I577f940bf09e3ce7b8da87496af413058f324455
parent 9d92f2c8
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -4248,7 +4248,8 @@ public final class ActiveServices {
        final String procName = r.processName;
        HostingRecord hostingRecord = new HostingRecord(
                HostingRecord.HOSTING_TYPE_SERVICE, r.instanceName,
                r.definingPackageName, r.definingUid, r.serviceInfo.processName);
                r.definingPackageName, r.definingUid, r.serviceInfo.processName,
                getHostingRecordTriggerType(r));
        ProcessRecord app;

        if (!isolated) {
@@ -4358,6 +4359,14 @@ public final class ActiveServices {
        return null;
    }

    private String getHostingRecordTriggerType(ServiceRecord r) {
        if (Manifest.permission.BIND_JOB_SERVICE.equals(r.permission)
                && r.mRecentCallingUid == SYSTEM_UID) {
            return HostingRecord.TRIGGER_TYPE_JOB;
        }
        return HostingRecord.TRIGGER_TYPE_UNKNOWN;
    }

    private final void requestServiceBindingsLocked(ServiceRecord r, boolean execInFg)
            throws TransactionTooLargeException {
        for (int i=r.bindings.size()-1; i>=0; i--) {
+11 −6
Original line number Diff line number Diff line
@@ -30,9 +30,10 @@ import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__HO
import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__HOSTING_TYPE_ID__HOSTING_TYPE_SERVICE;
import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__HOSTING_TYPE_ID__HOSTING_TYPE_SYSTEM;
import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__HOSTING_TYPE_ID__HOSTING_TYPE_TOP_ACTIVITY;
import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_PUSH_MESSAGE;
import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_PUSH_MESSAGE_OVER_QUOTA;
import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_TYPE_ALARM;
import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_TYPE_JOB;
import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_TYPE_PUSH_MESSAGE;
import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_TYPE_PUSH_MESSAGE_OVER_QUOTA;
import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_TYPE_UNKNOWN;
import static com.android.internal.util.FrameworkStatsLog.PROCESS_START_TIME__TYPE__UNKNOWN;

@@ -97,6 +98,7 @@ public final class HostingRecord {
    public static final String TRIGGER_TYPE_ALARM = "alarm";
    public static final String TRIGGER_TYPE_PUSH_MESSAGE = "push_message";
    public static final String TRIGGER_TYPE_PUSH_MESSAGE_OVER_QUOTA = "push_message_over_quota";
    public static final String TRIGGER_TYPE_JOB = "job";

    @NonNull private final String mHostingType;
    private final String mHostingName;
@@ -126,10 +128,11 @@ public final class HostingRecord {
    }

    public HostingRecord(@NonNull String hostingType, ComponentName hostingName,
            String definingPackageName, int definingUid, String definingProcessName) {
            String definingPackageName, int definingUid, String definingProcessName,
            String triggerType) {
        this(hostingType, hostingName.toShortString(), REGULAR_ZYGOTE, definingPackageName,
                definingUid, false /* isTopApp */, definingProcessName, null /* action */,
                TRIGGER_TYPE_UNKNOWN);
                triggerType);
    }

    public HostingRecord(@NonNull String hostingType, ComponentName hostingName, boolean isTopApp) {
@@ -313,9 +316,11 @@ public final class HostingRecord {
            case TRIGGER_TYPE_ALARM:
                return PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_TYPE_ALARM;
            case TRIGGER_TYPE_PUSH_MESSAGE:
                return PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_PUSH_MESSAGE;
                return PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_TYPE_PUSH_MESSAGE;
            case TRIGGER_TYPE_PUSH_MESSAGE_OVER_QUOTA:
                return PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_PUSH_MESSAGE_OVER_QUOTA;
                return PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_TYPE_PUSH_MESSAGE_OVER_QUOTA;
            case TRIGGER_TYPE_JOB:
                return PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_TYPE_JOB;
            default:
                return PROCESS_START_TIME__TRIGGER_TYPE__TRIGGER_TYPE_UNKNOWN;
        }