Add EXTRA_STREAM to requireContentUriPermissionFromCaller

The Activity Manifest attribute requireContentUriPermissionFromCaller
only works for content URIs passed in Intent#getData and
Intent#getClipData. This change adds Intent#EXTRA_STREAM to that list as
it is one of the common ways for apps to pass URIs.

EXTRA_STREAM only works for URIs that the system can unparcel. If
unparcel fails, i.e. a BadParcelableException is thrown, the item is
still preserved as a LazyValue with the underlying parcel.

Bug: 293467489
Test: atest CtsContentTestCases:android.content.cts.ActivityRequireContentUriPermissionFromCallerTest
Change-Id: Idcd3b38adfd3e2ebad7e69f40d1cb822c4a0e6e4
2 files changed