incidentd: dumping jobscheduler to proto
Bug: 65750819 Test: flash device and check incident.proto output Also test: $ cts-tradefed run cts-dev --module CtsIncidentHostTestCases --test com.android.server.cts.JobSchedulerIncidentTest Change-Id: I4abc01ca893edcbaf4d2254e4f807e06f5cb91f8
This commit is contained in:
@@ -21,6 +21,7 @@ import android.os.Parcelable;
|
|||||||
import android.system.ErrnoException;
|
import android.system.ErrnoException;
|
||||||
import android.system.Os;
|
import android.system.Os;
|
||||||
import android.system.OsConstants;
|
import android.system.OsConstants;
|
||||||
|
import android.util.proto.ProtoOutputStream;
|
||||||
|
|
||||||
import com.android.okhttp.internalandroidapi.Dns;
|
import com.android.okhttp.internalandroidapi.Dns;
|
||||||
import com.android.okhttp.internalandroidapi.HttpURLConnectionFactory;
|
import com.android.okhttp.internalandroidapi.HttpURLConnectionFactory;
|
||||||
@@ -402,4 +403,11 @@ public class Network implements Parcelable {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
return Integer.toString(netId);
|
return Integer.toString(netId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @hide */
|
||||||
|
public void writeToProto(ProtoOutputStream proto, long fieldId) {
|
||||||
|
final long token = proto.start(fieldId);
|
||||||
|
proto.write(NetworkProto.NET_ID, netId);
|
||||||
|
proto.end(token);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import android.annotation.IntDef;
|
|||||||
import android.net.ConnectivityManager.NetworkCallback;
|
import android.net.ConnectivityManager.NetworkCallback;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
import android.util.proto.ProtoOutputStream;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.internal.util.BitUtils;
|
import com.android.internal.util.BitUtils;
|
||||||
@@ -1016,6 +1017,31 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
return "[" + transports + capabilities + upBand + dnBand + specifier + signalStrength + "]";
|
return "[" + transports + capabilities + upBand + dnBand + specifier + signalStrength + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @hide */
|
||||||
|
public void writeToProto(ProtoOutputStream proto, long fieldId) {
|
||||||
|
final long token = proto.start(fieldId);
|
||||||
|
|
||||||
|
for (int transport : getTransportTypes()) {
|
||||||
|
proto.write(NetworkCapabilitiesProto.TRANSPORTS, transport);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int capability : getCapabilities()) {
|
||||||
|
proto.write(NetworkCapabilitiesProto.CAPABILITIES, capability);
|
||||||
|
}
|
||||||
|
|
||||||
|
proto.write(NetworkCapabilitiesProto.LINK_UP_BANDWIDTH_KBPS, mLinkUpBandwidthKbps);
|
||||||
|
proto.write(NetworkCapabilitiesProto.LINK_DOWN_BANDWIDTH_KBPS, mLinkDownBandwidthKbps);
|
||||||
|
|
||||||
|
if (mNetworkSpecifier != null) {
|
||||||
|
proto.write(NetworkCapabilitiesProto.NETWORK_SPECIFIER, mNetworkSpecifier.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
proto.write(NetworkCapabilitiesProto.CAN_REPORT_SIGNAL_STRENGTH, hasSignalStrength());
|
||||||
|
proto.write(NetworkCapabilitiesProto.SIGNAL_STRENGTH, mSignalStrength);
|
||||||
|
|
||||||
|
proto.end(token);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import android.annotation.NonNull;
|
|||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.proto.ProtoOutputStream;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -389,6 +390,35 @@ public class NetworkRequest implements Parcelable {
|
|||||||
", " + networkCapabilities.toString() + " ]";
|
", " + networkCapabilities.toString() + " ]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int typeToProtoEnum(Type t) {
|
||||||
|
switch (t) {
|
||||||
|
case NONE:
|
||||||
|
return NetworkRequestProto.TYPE_NONE;
|
||||||
|
case LISTEN:
|
||||||
|
return NetworkRequestProto.TYPE_LISTEN;
|
||||||
|
case TRACK_DEFAULT:
|
||||||
|
return NetworkRequestProto.TYPE_TRACK_DEFAULT;
|
||||||
|
case REQUEST:
|
||||||
|
return NetworkRequestProto.TYPE_REQUEST;
|
||||||
|
case BACKGROUND_REQUEST:
|
||||||
|
return NetworkRequestProto.TYPE_BACKGROUND_REQUEST;
|
||||||
|
default:
|
||||||
|
return NetworkRequestProto.TYPE_UNKNOWN;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @hide */
|
||||||
|
public void writeToProto(ProtoOutputStream proto, long fieldId) {
|
||||||
|
final long token = proto.start(fieldId);
|
||||||
|
|
||||||
|
proto.write(NetworkRequestProto.TYPE, typeToProtoEnum(type));
|
||||||
|
proto.write(NetworkRequestProto.REQUEST_ID, requestId);
|
||||||
|
proto.write(NetworkRequestProto.LEGACY_TYPE, legacyType);
|
||||||
|
networkCapabilities.writeToProto(proto, NetworkRequestProto.NETWORK_CAPABILITIES);
|
||||||
|
|
||||||
|
proto.end(token);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if (obj instanceof NetworkRequest == false) return false;
|
if (obj instanceof NetworkRequest == false) return false;
|
||||||
NetworkRequest that = (NetworkRequest)obj;
|
NetworkRequest that = (NetworkRequest)obj;
|
||||||
|
|||||||
Reference in New Issue
Block a user