Fix handling of "allow fds" state.

Didn't take into account nesting of bundles.  Boo.

Change-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index 9552c1c..608877e 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -447,13 +447,20 @@
     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) {