Reland "libbinder: ignore CallRestriction for magic 0 cmd"

This reverts commit 41a4c36712b23aff58d9305e4191dc18d143f6bd.

This fixes the CallRestriction issue, but removes the added test
which has problems in another context and will be fixed separately.

Reason for revert: refix b/167302413
Testing issue will be handled separately in b/168942807.

Fixes: 167302413

Change-Id: Iedc1ff73d086c973bfcab511ace26d0ec2291040
diff --git a/libs/binder/ProcessState.cpp b/libs/binder/ProcessState.cpp
index a530565..83ca687 100644
--- a/libs/binder/ProcessState.cpp
+++ b/libs/binder/ProcessState.cpp
@@ -282,9 +282,17 @@
                 // a driver API to get a handle to the context manager with
                 // proper reference counting.
 
+                IPCThreadState* ipc = IPCThreadState::self();
+
+                CallRestriction originalCallRestriction = ipc->getCallRestriction();
+                ipc->setCallRestriction(CallRestriction::NONE);
+
                 Parcel data;
-                status_t status = IPCThreadState::self()->transact(
+                status_t status = ipc->transact(
                         0, IBinder::PING_TRANSACTION, data, nullptr, 0);
+
+                ipc->setCallRestriction(originalCallRestriction);
+
                 if (status == DEAD_OBJECT)
                    return nullptr;
             }