From 57eaaf68572bfb796029f6fef709386a66cf81ff Mon Sep 17 00:00:00 2001 From: Steve McKay Date: Mon, 13 Jun 2016 12:53:31 -0700 Subject: [PATCH] new ClipData constructor. Add new constructor with args: ClipDescription, ArrayList. This allows description and item list to be constructed separately. Change-Id: I09f63d308dbafdb2c749019848afb0d2d24b8c44 --- core/java/android/content/ClipData.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/core/java/android/content/ClipData.java b/core/java/android/content/ClipData.java index c365e9ee95494..90b58aae5752d 100644 --- a/core/java/android/content/ClipData.java +++ b/core/java/android/content/ClipData.java @@ -668,6 +668,24 @@ public class ClipData implements Parcelable { mItems.add(item); } + /** + * Create a new clip. + * + * @param description The ClipDescription describing the clip contents. + * @param items The items in the clip. Not that a defensive copy of this + * list is not made, so caution should be taken to ensure the + * list is not available for further modification. + * @hide + */ + public ClipData(ClipDescription description, ArrayList items) { + mClipDescription = description; + if (items == null) { + throw new NullPointerException("item is null"); + } + mIcon = null; + mItems = items; + } + /** * Create a new clip that is a copy of another clip. This does a deep-copy * of all items in the clip. @@ -1009,10 +1027,12 @@ public class ClipData implements Parcelable { public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override public ClipData createFromParcel(Parcel source) { return new ClipData(source); } + @Override public ClipData[] newArray(int size) { return new ClipData[size]; }