diff options
| author | Nikita Dubrovsky <dubrovsky@google.com> | 2020-12-14 22:04:57 -0800 |
|---|---|---|
| committer | Nikita Dubrovsky <dubrovsky@google.com> | 2020-12-14 22:04:57 -0800 |
| commit | c9f90b56df50d8682dee5afddebe3e8a89690fbd (patch) | |
| tree | c6171be38f2dae1c692ce063f559f2bf3fb64e94 /core/java/android | |
| parent | 7898548ed6411be010c3679ff3cc4fdf1970321d (diff) | |
Hide ContentInfo.partition from the public API
Per API Council feedback, this method will not be exposed in the public
API. App developers will instead use the support library for this.
Rather than removing the method completely, it is marked with @hide so
that it can still be used in system code (e.g. RemoteInputView).
Bug: 174125311
Test: atest CtsViewTestCases:ContentInfoTest
Change-Id: I83b55bea38c0d2b3dc60a16658616e46ebe4cb48
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. * |
