diff options
author | Jeff Sharkey <jsharkey@android.com> | 2012-03-27 10:49:19 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-03-27 10:49:19 -0700 |
commit | 40bd578db80c639c5b715cf99d0f6c3b1b9930e9 (patch) | |
tree | 205bc4cef21059813e3c2a3065c60cb894f73d9a /core/java/android | |
parent | dec4782fefb3b224e56055ca03dbd9592fb3209a (diff) | |
parent | f27ea66114569d233c65cb895543668f3202ca19 (diff) | |
download | frameworks_base-40bd578db80c639c5b715cf99d0f6c3b1b9930e9.zip frameworks_base-40bd578db80c639c5b715cf99d0f6c3b1b9930e9.tar.gz frameworks_base-40bd578db80c639c5b715cf99d0f6c3b1b9930e9.tar.bz2 |
Merge "Avoid ClassCast when migrating ACTION_SEND extras."
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/content/Intent.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 1c9ef38..a0d0271 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -6483,7 +6483,12 @@ public class Intent implements Parcelable, Cloneable { final String action = getAction(); if (ACTION_SEND.equals(action)) { - final Uri stream = getParcelableExtra(EXTRA_STREAM); + final Uri stream; + try { + stream = getParcelableExtra(EXTRA_STREAM); + } catch (ClassCastException e) { + return; + } if (stream != null) { final ClipData clipData = new ClipData( null, new String[] { getType() }, new ClipData.Item(stream)); @@ -6493,7 +6498,12 @@ public class Intent implements Parcelable, Cloneable { } } else if (ACTION_SEND_MULTIPLE.equals(action)) { - final ArrayList<Uri> streams = getParcelableArrayListExtra(EXTRA_STREAM); + final ArrayList<Uri> streams; + try { + streams = getParcelableArrayListExtra(EXTRA_STREAM); + } catch (ClassCastException e) { + return; + } if (streams != null && streams.size() > 0) { final Uri firstStream = streams.get(0); final ClipData clipData = new ClipData( |