Merge "Mark even more Bundles as defusable." into nyc-dev

This commit is contained in:
Jeff Sharkey
2016-03-21 21:10:13 +00:00
committed by Android (Google) Code Review
5 changed files with 9 additions and 7 deletions

View File

@@ -365,7 +365,7 @@ public final class MediaMetadata implements Parcelable {
}
private MediaMetadata(Parcel in) {
mBundle = in.readBundle();
mBundle = Bundle.setDefusable(in.readBundle(), true);
}
/**

View File

@@ -811,10 +811,8 @@ public final class ActiveServices {
// Hacky kind of thing -- allow system stuff to tell us
// what they are, so we can report this elsewhere for
// others to know why certain services are running.
try {
clientIntent = service.getParcelableExtra(Intent.EXTRA_CLIENT_INTENT);
} catch (RuntimeException e) {
}
service.setDefusable(true);
clientIntent = service.getParcelableExtra(Intent.EXTRA_CLIENT_INTENT);
if (clientIntent != null) {
clientLabel = service.getIntExtra(Intent.EXTRA_CLIENT_LABEL, 0);
if (clientLabel != 0) {

View File

@@ -6923,6 +6923,7 @@ public final class ActivityManagerService extends ActivityManagerNative
intents[i].setDefusable(true);
}
}
Bundle.setDefusable(bOptions, true);
final boolean noCreate = (flags&PendingIntent.FLAG_NO_CREATE) != 0;
final boolean cancelCurrent = (flags&PendingIntent.FLAG_CANCEL_CURRENT) != 0;

View File

@@ -208,7 +208,10 @@ final class PendingIntentRecord extends IIntentSender.Stub {
String requiredPermission, IBinder resultTo, String resultWho, int requestCode,
int flagsMask, int flagsValues, Bundle options, IActivityContainer container)
throws TransactionTooLargeException {
synchronized(owner) {
if (intent != null) intent.setDefusable(true);
if (options != null) options.setDefusable(true);
synchronized (owner) {
final ActivityContainer activityContainer = (ActivityContainer)container;
if (activityContainer != null && activityContainer.mParentActivity != null &&
activityContainer.mParentActivity.state

View File

@@ -188,7 +188,7 @@ public final class ParcelableConnection implements Parcelable {
DisconnectCause disconnectCause = source.readParcelable(classLoader);
List<String> conferenceableConnectionIds = new ArrayList<>();
source.readStringList(conferenceableConnectionIds);
Bundle extras = source.readBundle(classLoader);
Bundle extras = Bundle.setDefusable(source.readBundle(classLoader), true);
return new ParcelableConnection(
phoneAccount,