diff options
| author | Kweku Adams <kwekua@google.com> | 2017-12-18 12:04:12 -0800 |
|---|---|---|
| committer | Kweku Adams <kwekua@google.com> | 2018-01-09 12:05:39 -0800 |
| commit | 85f2fbcb1fc3277ea825ec3dc52f636b47302425 (patch) | |
| tree | 535b1b6866bbf21d77c5b17ae7b4d1512e10bb34 /core/java/android/content/ClipData.java | |
| parent | e73f12ff8ca6a80869cf2876d6f5055457ae03e3 (diff) | |
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
Diffstat (limited to 'core/java/android/content/ClipData.java')
| -rw-r--r-- | core/java/android/content/ClipData.java | 43 |
1 files changed, 42 insertions, 1 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); |
