Support BR_TRANSACTION_PENDING_FROZEN

When an async binder transaction is sent to a frozen process, the kernel
binder driver returns BR_TRANSACTION_PENDING_FROZEN. This tells the user
space app that pending async binder transaction won't be processed until
the target process is unfrozen at an unspecified time in the future.

Generally all binder transactions to frozen processes should be avoided
to prevent the kernel async binder buffer from running out.

Bug: 253913841
Test: freeze process and check logcat
Change-Id: Ie0191b0b3b6b0a4a8481f27f3b0e64e4c1279cb5
diff --git a/libs/binder/IPCThreadState.cpp b/libs/binder/IPCThreadState.cpp
index 7770374..c0f3e30 100644
--- a/libs/binder/IPCThreadState.cpp
+++ b/libs/binder/IPCThreadState.cpp
@@ -1017,6 +1017,10 @@
             if (!reply && !acquireResult) goto finish;
             break;
 
+        case BR_TRANSACTION_PENDING_FROZEN:
+            ALOGW("Sending oneway calls to frozen process.");
+            goto finish;
+
         case BR_DEAD_REPLY:
             err = DEAD_OBJECT;
             goto finish;