diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/content/ClipData.java | 43 | ||||
| -rw-r--r-- | core/java/android/content/ClipDescription.java | 23 | ||||
| -rw-r--r-- | core/java/android/content/ComponentName.java | 4 | ||||
| -rw-r--r-- | core/java/android/content/Intent.java | 6 | ||||
| -rw-r--r-- | core/java/android/net/Network.java | 8 | ||||
| -rw-r--r-- | core/java/android/net/NetworkCapabilities.java | 26 | ||||
| -rw-r--r-- | core/java/android/net/NetworkRequest.java | 30 | ||||
| -rw-r--r-- | core/java/android/os/Bundle.java | 18 | ||||
| -rw-r--r-- | core/java/android/os/PersistableBundle.java | 18 |
9 files changed, 174 insertions, 2 deletions
diff --git a/core/java/android/content/ClipData.java b/core/java/android/content/ClipData.java index 9323261f052c..94e1e2dff235 100644 --- a/core/java/android/content/ClipData.java +++ b/core/java/android/content/ClipData.java @@ -34,16 +34,18 @@ import android.text.Spanned; import android.text.TextUtils; import android.text.style.URLSpan; import android.util.Log; +import android.util.proto.ProtoOutputStream; import com.android.internal.util.ArrayUtils; +import libcore.io.IoUtils; + import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; -import libcore.io.IoUtils; /** * Representation of a clipped data on the clipboard. @@ -665,6 +667,25 @@ public class ClipData implements Parcelable { b.append("NULL"); } } + + /** @hide */ + public void writeToProto(ProtoOutputStream proto, long fieldId) { + final long token = proto.start(fieldId); + + if (mHtmlText != null) { + proto.write(ClipDataProto.Item.HTML_TEXT, mHtmlText); + } else if (mText != null) { + proto.write(ClipDataProto.Item.TEXT, mText.toString()); + } else if (mUri != null) { + proto.write(ClipDataProto.Item.URI, mUri.toString()); + } else if (mIntent != null) { + mIntent.writeToProto(proto, ClipDataProto.Item.INTENT, true, true, true, true); + } else { + proto.write(ClipDataProto.Item.NOTHING, true); + } + + proto.end(token); + } } /** @@ -1048,6 +1069,26 @@ public class ClipData implements Parcelable { } /** @hide */ + public void writeToProto(ProtoOutputStream proto, long fieldId) { + final long token = proto.start(fieldId); + + if (mClipDescription != null) { + mClipDescription.writeToProto(proto, ClipDataProto.DESCRIPTION); + } + if (mIcon != null) { + final long iToken = proto.start(ClipDataProto.ICON); + proto.write(ClipDataProto.Icon.WIDTH, mIcon.getWidth()); + proto.write(ClipDataProto.Icon.HEIGHT, mIcon.getHeight()); + proto.end(iToken); + } + for (int i = 0; i < mItems.size(); i++) { + mItems.get(i).writeToProto(proto, ClipDataProto.ITEMS); + } + + proto.end(token); + } + + /** @hide */ public void collectUris(List<Uri> out) { for (int i = 0; i < mItems.size(); ++i) { ClipData.Item item = getItemAt(i); diff --git a/core/java/android/content/ClipDescription.java b/core/java/android/content/ClipDescription.java index 8e30fd6eb60f..19295fcf20f6 100644 --- a/core/java/android/content/ClipDescription.java +++ b/core/java/android/content/ClipDescription.java @@ -21,6 +21,7 @@ import android.os.Parcelable; import android.os.PersistableBundle; import android.text.TextUtils; import android.util.TimeUtils; +import android.util.proto.ProtoOutputStream; import java.util.ArrayList; import java.util.Arrays; @@ -337,6 +338,28 @@ public class ClipDescription implements Parcelable { return !first; } + /** @hide */ + public void writeToProto(ProtoOutputStream proto, long fieldId) { + final long token = proto.start(fieldId); + + final int size = mMimeTypes.size(); + for (int i = 0; i < size; i++) { + proto.write(ClipDescriptionProto.MIME_TYPES, mMimeTypes.get(i)); + } + + if (mLabel != null) { + proto.write(ClipDescriptionProto.LABEL, mLabel.toString()); + } + if (mExtras != null) { + mExtras.writeToProto(proto, ClipDescriptionProto.EXTRAS); + } + if (mTimeStamp > 0) { + proto.write(ClipDescriptionProto.TIMESTAMP_MS, mTimeStamp); + } + + proto.end(token); + } + @Override public int describeContents() { return 0; diff --git a/core/java/android/content/ComponentName.java b/core/java/android/content/ComponentName.java index 0d36bddc8665..ead6c25989ce 100644 --- a/core/java/android/content/ComponentName.java +++ b/core/java/android/content/ComponentName.java @@ -284,9 +284,11 @@ public final class ComponentName implements Parcelable, Cloneable, Comparable<Co } /** Put this here so that individual services don't have to reimplement this. @hide */ - public void toProto(ProtoOutputStream proto) { + public void writeToProto(ProtoOutputStream proto, long fieldId) { + final long token = proto.start(fieldId); proto.write(ComponentNameProto.PACKAGE_NAME, mPackage); proto.write(ComponentNameProto.CLASS_NAME, mClass); + proto.end(token); } @Override diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index e940769ada60..6e9970980e96 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -9410,6 +9410,12 @@ public class Intent implements Parcelable, Cloneable { } /** @hide */ + public void writeToProto(ProtoOutputStream proto, long fieldId) { + // Same input parameters that toString() gives to toShortString(). + writeToProto(proto, fieldId, true, true, true, false); + } + + /** @hide */ public void writeToProto(ProtoOutputStream proto, long fieldId, boolean secure, boolean comp, boolean extras, boolean clip) { long token = proto.start(fieldId); diff --git a/core/java/android/net/Network.java b/core/java/android/net/Network.java index 903b602b42f8..1a3ce9124b48 100644 --- a/core/java/android/net/Network.java +++ b/core/java/android/net/Network.java @@ -21,6 +21,7 @@ import android.os.Parcelable; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; +import android.util.proto.ProtoOutputStream; import com.android.okhttp.internalandroidapi.Dns; import com.android.okhttp.internalandroidapi.HttpURLConnectionFactory; @@ -402,4 +403,11 @@ public class Network implements Parcelable { public String toString() { 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); + } } diff --git a/core/java/android/net/NetworkCapabilities.java b/core/java/android/net/NetworkCapabilities.java index f468e5d2f92b..8b03fa81d483 100644 --- a/core/java/android/net/NetworkCapabilities.java +++ b/core/java/android/net/NetworkCapabilities.java @@ -20,6 +20,7 @@ import android.annotation.IntDef; import android.net.ConnectivityManager.NetworkCallback; import android.os.Parcel; import android.os.Parcelable; +import android.util.proto.ProtoOutputStream; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.BitUtils; @@ -1016,6 +1017,31 @@ public final class NetworkCapabilities implements Parcelable { 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 */ diff --git a/core/java/android/net/NetworkRequest.java b/core/java/android/net/NetworkRequest.java index 97ded2d73b60..a0724091abee 100644 --- a/core/java/android/net/NetworkRequest.java +++ b/core/java/android/net/NetworkRequest.java @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; +import android.util.proto.ProtoOutputStream; import java.util.Objects; @@ -389,6 +390,35 @@ public class NetworkRequest implements Parcelable { ", " + 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) { if (obj instanceof NetworkRequest == false) return false; NetworkRequest that = (NetworkRequest)obj; diff --git a/core/java/android/os/Bundle.java b/core/java/android/os/Bundle.java index c58153aa34d1..7ae5a673f630 100644 --- a/core/java/android/os/Bundle.java +++ b/core/java/android/os/Bundle.java @@ -21,6 +21,7 @@ import android.util.ArrayMap; import android.util.Size; import android.util.SizeF; import android.util.SparseArray; +import android.util.proto.ProtoOutputStream; import com.android.internal.annotations.VisibleForTesting; @@ -1272,4 +1273,21 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable { } return mMap.toString(); } + + /** @hide */ + public void writeToProto(ProtoOutputStream proto, long fieldId) { + final long token = proto.start(fieldId); + + if (mParcelledData != null) { + if (isEmptyParcel()) { + proto.write(BundleProto.PARCELLED_DATA_SIZE, 0); + } else { + proto.write(BundleProto.PARCELLED_DATA_SIZE, mParcelledData.dataSize()); + } + } else { + proto.write(BundleProto.MAP_DATA, mMap.toString()); + } + + proto.end(token); + } } diff --git a/core/java/android/os/PersistableBundle.java b/core/java/android/os/PersistableBundle.java index 3ed5b1745245..40eceb8a04e1 100644 --- a/core/java/android/os/PersistableBundle.java +++ b/core/java/android/os/PersistableBundle.java @@ -18,6 +18,7 @@ package android.os; import android.annotation.Nullable; import android.util.ArrayMap; +import android.util.proto.ProtoOutputStream; import com.android.internal.util.XmlUtils; @@ -321,4 +322,21 @@ public final class PersistableBundle extends BaseBundle implements Cloneable, Pa } return mMap.toString(); } + + /** @hide */ + public void writeToProto(ProtoOutputStream proto, long fieldId) { + final long token = proto.start(fieldId); + + if (mParcelledData != null) { + if (isEmptyParcel()) { + proto.write(PersistableBundleProto.PARCELLED_DATA_SIZE, 0); + } else { + proto.write(PersistableBundleProto.PARCELLED_DATA_SIZE, mParcelledData.dataSize()); + } + } else { + proto.write(PersistableBundleProto.MAP_DATA, mMap.toString()); + } + + proto.end(token); + } } |
