Merge "Handle interaction of Bundle.hasFileDescriptors() with removal" into nyc-dev

This commit is contained in:
Chris Tate
2016-03-31 22:22:30 +00:00
committed by Android (Google) Code Review

View File

@@ -207,6 +207,18 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable {
mFlags = FLAG_HAS_FDS_KNOWN | FLAG_ALLOW_FDS;
}
/**
* Removes any entry with the given key from the mapping of this Bundle.
*
* @param key a String key
*/
public void remove(String key) {
super.remove(key);
if ((mFlags & FLAG_HAS_FDS) != 0) {
mFlags &= ~FLAG_HAS_FDS_KNOWN;
}
}
/**
* Inserts all mappings from the given Bundle into this Bundle.
*
@@ -288,6 +300,8 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable {
if (fdFound) {
mFlags |= FLAG_HAS_FDS;
} else {
mFlags &= ~FLAG_HAS_FDS;
}
mFlags |= FLAG_HAS_FDS_KNOWN;
}
@@ -315,6 +329,8 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable {
mMap.removeAt(i);
}
}
mFlags |= FLAG_HAS_FDS_KNOWN;
mFlags &= ~FLAG_HAS_FDS;
}
/**