diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/view/ContentInfo.java | 4 | ||||
| -rw-r--r-- | core/java/android/view/OnReceiveContentListener.java | 5 | ||||
| -rw-r--r-- | core/java/android/widget/TextView.java | 8 |
3 files changed, 12 insertions, 5 deletions
diff --git a/core/java/android/view/ContentInfo.java b/core/java/android/view/ContentInfo.java index fcf699faafe1..bc66ea16bb72 100644 --- a/core/java/android/view/ContentInfo.java +++ b/core/java/android/view/ContentInfo.java @@ -19,6 +19,7 @@ package android.view; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.TestApi; import android.content.ClipData; import android.content.ClipDescription; import android.net.Uri; @@ -222,7 +223,10 @@ public final class ContentInfo { * content that matched the predicate, or null if none of the items matched. The pair's * second object will have the content that didn't match the predicate, or null if all of * the items matched. + * + * @hide */ + @TestApi @NonNull public Pair<ContentInfo, ContentInfo> partition( @NonNull Predicate<ClipData.Item> itemPredicate) { diff --git a/core/java/android/view/OnReceiveContentListener.java b/core/java/android/view/OnReceiveContentListener.java index 419f964ccd25..3d9968c7f2c6 100644 --- a/core/java/android/view/OnReceiveContentListener.java +++ b/core/java/android/view/OnReceiveContentListener.java @@ -36,7 +36,7 @@ import android.annotation.Nullable; * @Override * public ContentInfo onReceiveContent(View view, ContentInfo payload) { * Pair<ContentInfo, ContentInfo> split = - * payload.partition(item -> item.getUri() != null); + * ContentInfoCompat.partition(payload, item -> item.getUri() != null); * ContentInfo uriContent = split.first; * ContentInfo remaining = split.second; * if (uriContent != null) { @@ -72,8 +72,7 @@ public interface OnReceiveContentListener { * handling. For example, an implementation may provide handling for content URIs (to provide * support for inserting images, etc) and delegate the processing of text to the platform to * preserve the common behavior for inserting text. See the class javadoc for a sample - * implementation and see {@link ContentInfo#partition} for a convenient way to split the - * passed-in content. + * implementation. * * <p>If implementing handling for text: if the view has a selection, the selection should * be overwritten by the passed-in content; if there's no selection, the passed-in content diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 02a930017906..40a372c8c2df 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -13736,8 +13736,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * custom behavior should configure a listener via {@link #setOnReceiveContentListener}. * * <p>For non-editable TextViews the default behavior is a no-op (returns the passed-in - * content without acting on it). For editable TextViews the default behavior coerces all - * content to text and inserts into the view. + * content without acting on it). + * + * <p>For editable TextViews the default behavior is to insert text into the view, coercing + * non-text content to text as needed. The MIME types "text/plain" and "text/html" have + * well-defined behavior for this, while other MIME types have reasonable fallback behavior + * (see {@link ClipData.Item#coerceToStyledText}). * * @param payload The content to insert and related metadata. * |
