java: use Parcel.obtain(IBinder) not markForBinder

markForBinder is now private to Parcel.

Bug: 175814583
Test: aidl_integration_test
Change-Id: Ifd5d948ff94d850cf9dfc7a1fe5ab5c24e604b86
diff --git a/generate_java_binder.cpp b/generate_java_binder.cpp
index 12aee22..fbd977e 100644
--- a/generate_java_binder.cpp
+++ b/generate_java_binder.cpp
@@ -711,12 +711,12 @@
 
   // the parcels
   auto _data = std::make_shared<Variable>("android.os.Parcel", "_data");
-  proxy->statements->Add(std::make_shared<VariableDeclaration>(
-      _data, std::make_shared<MethodCall>("android.os.Parcel", "obtain")));
-
   if (options.GenRpc()) {
-    proxy->statements->Add(
-        std::make_shared<LiteralStatement>("_data.markForBinder(asBinder());\n"));
+    proxy->statements->Add(std::make_shared<LiteralStatement>(
+        "android.os.Parcel _data = android.os.Parcel.obtain(asBinder());\n"));
+  } else {
+    proxy->statements->Add(std::make_shared<LiteralStatement>(
+        "android.os.Parcel _data = android.os.Parcel.obtain();\n"));
   }
 
   if (iface.IsSensitiveData()) {