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
This commit is contained in:
Nikita Dubrovsky
2020-12-14 22:04:57 -08:00
parent 7898548ed6
commit c9f90b56df
5 changed files with 16 additions and 6 deletions

View File

@@ -51046,7 +51046,6 @@ package android.view {
method public int getFlags();
method @Nullable public android.net.Uri getLinkUri();
method public int getSource();
method @NonNull public android.util.Pair<android.view.ContentInfo,android.view.ContentInfo> partition(@NonNull java.util.function.Predicate<android.content.ClipData.Item>);
field public static final int FLAG_CONVERT_TO_PLAIN_TEXT = 1; // 0x1
field public static final int SOURCE_APP = 0; // 0x0
field public static final int SOURCE_AUTOFILL = 4; // 0x4

View File

@@ -2006,6 +2006,10 @@ package android.view {
field public static final int CALLBACK_ANIMATION = 1; // 0x1
}
public final class ContentInfo {
method @NonNull public android.util.Pair<android.view.ContentInfo,android.view.ContentInfo> partition(@NonNull java.util.function.Predicate<android.content.ClipData.Item>);
}
public final class Display {
method @NonNull public android.graphics.ColorSpace[] getSupportedWideColorGamut();
method public int getType();

View File

@@ -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) {

View File

@@ -36,7 +36,7 @@ import android.annotation.Nullable;
* &#64;Override
* public ContentInfo onReceiveContent(View view, ContentInfo payload) {
* Pair&lt;ContentInfo, ContentInfo&gt; split =
* payload.partition(item -&gt; item.getUri() != null);
* ContentInfoCompat.partition(payload, item -&gt; 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

View File

@@ -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.
*