Loading core/java/android/os/Bundle.java +2 −2 Original line number Diff line number Diff line Loading @@ -1597,7 +1597,7 @@ public final class Bundle implements Parcelable, Cloneable { * @param parcel The parcel to copy this bundle to. */ public void writeToParcel(Parcel parcel, int flags) { final boolean oldAllowFds = parcel.setAllowFds(mAllowFds); final boolean oldAllowFds = parcel.pushAllowFds(mAllowFds); try { if (mParcelledData != null) { int length = mParcelledData.dataSize(); Loading @@ -1619,7 +1619,7 @@ public final class Bundle implements Parcelable, Cloneable { parcel.setDataPosition(newPos); } } finally { parcel.setAllowFds(oldAllowFds); parcel.restoreAllowFds(oldAllowFds); } } Loading core/java/android/os/Parcel.java +4 −1 Original line number Diff line number Diff line Loading @@ -324,7 +324,10 @@ public final class Parcel { public final native void setDataCapacity(int size); /** @hide */ public final native boolean setAllowFds(boolean allowFds); public final native boolean pushAllowFds(boolean allowFds); /** @hide */ public final native void restoreAllowFds(boolean lastValue); /** * Returns the raw bytes of the parcel. Loading core/jni/android_util_Binder.cpp +12 −3 Original line number Diff line number Diff line Loading @@ -1303,16 +1303,24 @@ static void android_os_Parcel_setDataCapacity(JNIEnv* env, jobject clazz, jint s } } static jboolean android_os_Parcel_setAllowFds(JNIEnv* env, jobject clazz, jboolean allowFds) static jboolean android_os_Parcel_pushAllowFds(JNIEnv* env, jobject clazz, jboolean allowFds) { Parcel* parcel = parcelForJavaObject(env, clazz); jboolean ret = JNI_TRUE; if (parcel != NULL) { ret = (jboolean)parcel->setAllowFds((bool)allowFds); ret = (jboolean)parcel->pushAllowFds(allowFds); } return ret; } static void android_os_Parcel_restoreAllowFds(JNIEnv* env, jobject clazz, jboolean lastValue) { Parcel* parcel = parcelForJavaObject(env, clazz); if (parcel != NULL) { parcel->restoreAllowFds((bool)lastValue); } } static void android_os_Parcel_writeNative(JNIEnv* env, jobject clazz, jobject data, jint offset, jint length) Loading Loading @@ -1810,7 +1818,8 @@ static const JNINativeMethod gParcelMethods[] = { {"setDataSize", "(I)V", (void*)android_os_Parcel_setDataSize}, {"setDataPosition", "(I)V", (void*)android_os_Parcel_setDataPosition}, {"setDataCapacity", "(I)V", (void*)android_os_Parcel_setDataCapacity}, {"setAllowFds", "(Z)Z", (void*)android_os_Parcel_setAllowFds}, {"pushAllowFds", "(Z)Z", (void*)android_os_Parcel_pushAllowFds}, {"restoreAllowFds", "(Z)V", (void*)android_os_Parcel_restoreAllowFds}, {"writeNative", "([BII)V", (void*)android_os_Parcel_writeNative}, {"writeInt", "(I)V", (void*)android_os_Parcel_writeInt}, {"writeLong", "(J)V", (void*)android_os_Parcel_writeLong}, Loading include/binder/Parcel.h +2 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,8 @@ public: status_t appendFrom(const Parcel *parcel, size_t start, size_t len); bool setAllowFds(bool allowFds); bool pushAllowFds(bool allowFds); void restoreAllowFds(bool lastValue); bool hasFileDescriptors() const; Loading libs/binder/Parcel.cpp +9 −2 Original line number Diff line number Diff line Loading @@ -447,13 +447,20 @@ status_t Parcel::appendFrom(const Parcel *parcel, size_t offset, size_t len) return err; } bool Parcel::setAllowFds(bool allowFds) bool Parcel::pushAllowFds(bool allowFds) { const bool origValue = mAllowFds; mAllowFds = allowFds; if (!allowFds) { mAllowFds = false; } return origValue; } void Parcel::restoreAllowFds(bool lastValue) { mAllowFds = lastValue; } bool Parcel::hasFileDescriptors() const { if (!mFdsKnown) { Loading Loading
core/java/android/os/Bundle.java +2 −2 Original line number Diff line number Diff line Loading @@ -1597,7 +1597,7 @@ public final class Bundle implements Parcelable, Cloneable { * @param parcel The parcel to copy this bundle to. */ public void writeToParcel(Parcel parcel, int flags) { final boolean oldAllowFds = parcel.setAllowFds(mAllowFds); final boolean oldAllowFds = parcel.pushAllowFds(mAllowFds); try { if (mParcelledData != null) { int length = mParcelledData.dataSize(); Loading @@ -1619,7 +1619,7 @@ public final class Bundle implements Parcelable, Cloneable { parcel.setDataPosition(newPos); } } finally { parcel.setAllowFds(oldAllowFds); parcel.restoreAllowFds(oldAllowFds); } } Loading
core/java/android/os/Parcel.java +4 −1 Original line number Diff line number Diff line Loading @@ -324,7 +324,10 @@ public final class Parcel { public final native void setDataCapacity(int size); /** @hide */ public final native boolean setAllowFds(boolean allowFds); public final native boolean pushAllowFds(boolean allowFds); /** @hide */ public final native void restoreAllowFds(boolean lastValue); /** * Returns the raw bytes of the parcel. Loading
core/jni/android_util_Binder.cpp +12 −3 Original line number Diff line number Diff line Loading @@ -1303,16 +1303,24 @@ static void android_os_Parcel_setDataCapacity(JNIEnv* env, jobject clazz, jint s } } static jboolean android_os_Parcel_setAllowFds(JNIEnv* env, jobject clazz, jboolean allowFds) static jboolean android_os_Parcel_pushAllowFds(JNIEnv* env, jobject clazz, jboolean allowFds) { Parcel* parcel = parcelForJavaObject(env, clazz); jboolean ret = JNI_TRUE; if (parcel != NULL) { ret = (jboolean)parcel->setAllowFds((bool)allowFds); ret = (jboolean)parcel->pushAllowFds(allowFds); } return ret; } static void android_os_Parcel_restoreAllowFds(JNIEnv* env, jobject clazz, jboolean lastValue) { Parcel* parcel = parcelForJavaObject(env, clazz); if (parcel != NULL) { parcel->restoreAllowFds((bool)lastValue); } } static void android_os_Parcel_writeNative(JNIEnv* env, jobject clazz, jobject data, jint offset, jint length) Loading Loading @@ -1810,7 +1818,8 @@ static const JNINativeMethod gParcelMethods[] = { {"setDataSize", "(I)V", (void*)android_os_Parcel_setDataSize}, {"setDataPosition", "(I)V", (void*)android_os_Parcel_setDataPosition}, {"setDataCapacity", "(I)V", (void*)android_os_Parcel_setDataCapacity}, {"setAllowFds", "(Z)Z", (void*)android_os_Parcel_setAllowFds}, {"pushAllowFds", "(Z)Z", (void*)android_os_Parcel_pushAllowFds}, {"restoreAllowFds", "(Z)V", (void*)android_os_Parcel_restoreAllowFds}, {"writeNative", "([BII)V", (void*)android_os_Parcel_writeNative}, {"writeInt", "(I)V", (void*)android_os_Parcel_writeInt}, {"writeLong", "(J)V", (void*)android_os_Parcel_writeLong}, Loading
include/binder/Parcel.h +2 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,8 @@ public: status_t appendFrom(const Parcel *parcel, size_t start, size_t len); bool setAllowFds(bool allowFds); bool pushAllowFds(bool allowFds); void restoreAllowFds(bool lastValue); bool hasFileDescriptors() const; Loading
libs/binder/Parcel.cpp +9 −2 Original line number Diff line number Diff line Loading @@ -447,13 +447,20 @@ status_t Parcel::appendFrom(const Parcel *parcel, size_t offset, size_t len) return err; } bool Parcel::setAllowFds(bool allowFds) bool Parcel::pushAllowFds(bool allowFds) { const bool origValue = mAllowFds; mAllowFds = allowFds; if (!allowFds) { mAllowFds = false; } return origValue; } void Parcel::restoreAllowFds(bool lastValue) { mAllowFds = lastValue; } bool Parcel::hasFileDescriptors() const { if (!mFdsKnown) { Loading