summaryrefslogtreecommitdiff
path: root/core/java/android/content/ClipData.java
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2017-02-16 22:22:26 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-02-16 22:22:31 +0000
commit10014782425a17ec17111c2ffdc5d6039027e377 (patch)
treeb6274a190442f53a3241c53813d01cd74b2a6aa3 /core/java/android/content/ClipData.java
parentfc8139d08688f0c558650015a653b9fe704ce43b (diff)
parente1f5e13c0fe8a436f53b402361e43728d31d8888 (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.java27
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) {