Merge "incidentd: dumping jobscheduler to proto"

This commit is contained in:
TreeHugger Robot
2018-01-09 23:15:19 +00:00
committed by Android (Google) Code Review
3 changed files with 64 additions and 0 deletions

View File

@@ -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);
}
} }

View File

@@ -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
*/ */

View File

@@ -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;