Loading services/core/java/com/android/server/am/ActiveServices.java +10 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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--) { Loading services/core/java/com/android/server/am/HostingRecord.java +11 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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) { Loading Loading @@ -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; } Loading Loading
services/core/java/com/android/server/am/ActiveServices.java +10 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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--) { Loading
services/core/java/com/android/server/am/HostingRecord.java +11 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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) { Loading Loading @@ -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; } Loading