diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2017-02-16 22:22:26 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-02-16 22:22:31 +0000 |
| commit | 10014782425a17ec17111c2ffdc5d6039027e377 (patch) | |
| tree | b6274a190442f53a3241c53813d01cd74b2a6aa3 /core/java/android/content/ClipData.java | |
| parent | fc8139d08688f0c558650015a653b9fe704ce43b (diff) | |
| parent | e1f5e13c0fe8a436f53b402361e43728d31d8888 (diff) | |
Merge "Do not return cryptic strings from ClipData.Item.coerceToText"
Diffstat (limited to 'core/java/android/content/ClipData.java')
| -rw-r--r-- | core/java/android/content/ClipData.java | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/core/java/android/content/ClipData.java b/core/java/android/content/ClipData.java index b39f1e0f47d4..6703bd426282 100644 --- a/core/java/android/content/ClipData.java +++ b/core/java/android/content/ClipData.java @@ -17,6 +17,9 @@ package android.content; import static android.content.ContentProvider.maybeAddUserId; +import static android.content.ContentResolver.SCHEME_ANDROID_RESOURCE; +import static android.content.ContentResolver.SCHEME_CONTENT; +import static android.content.ContentResolver.SCHEME_FILE; import android.content.res.AssetFileDescriptor; import android.graphics.Bitmap; @@ -374,8 +377,14 @@ public class ClipData implements Parcelable { } } - // If we couldn't open the URI as a stream, then the URI itself - // probably serves fairly well as a textual representation. + // If we couldn't open the URI as a stream, use the URI itself as a textual + // representation (but not for "content", "android.resource" or "file" schemes). + final String scheme = uri.getScheme(); + if (SCHEME_CONTENT.equals(scheme) + || SCHEME_ANDROID_RESOURCE.equals(scheme) + || SCHEME_FILE.equals(scheme)) { + return ""; + } return uri.toString(); } @@ -561,9 +570,15 @@ public class ClipData implements Parcelable { } } - // If we couldn't open the URI as a stream, then we can build - // some HTML text with the URI itself. - // probably serves fairly well as a textual representation. + // If we couldn't open the URI as a stream, use the URI itself as a textual + // representation (but not for "content", "android.resource" or "file" schemes). + final String scheme = mUri.getScheme(); + if (SCHEME_CONTENT.equals(scheme) + || SCHEME_ANDROID_RESOURCE.equals(scheme) + || SCHEME_FILE.equals(scheme)) { + return ""; + } + if (styled) { return uriToStyledText(mUri.toString()); } else { @@ -783,7 +798,7 @@ public class ClipData implements Parcelable { */ private static String[] getMimeTypes(ContentResolver resolver, Uri uri) { String[] mimeTypes = null; - if ("content".equals(uri.getScheme())) { + if (SCHEME_CONTENT.equals(uri.getScheme())) { String realType = resolver.getType(uri); mimeTypes = resolver.getStreamTypes(uri, "*/*"); if (realType != null) { |
