NDK Backend: use ref for BpTest::associate.
Fixing double-owned object.
Bug: 112664205
Test: atest android.binder.cts
Change-Id: I44c008504279f0ee616156f5207d7944f3c0e4e8
diff --git a/generate_ndk.cpp b/generate_ndk.cpp
index 37936a9..fe2ad53 100644
--- a/generate_ndk.cpp
+++ b/generate_ndk.cpp
@@ -397,7 +397,7 @@
out.Indent();
out << "if (!AIBinder_associateClass(binder.get(), " << data_clazz
<< "::clazz)) { return nullptr; }\n";
- out << "return std::shared_ptr<" << clazz << ">(new " << clazz << "(binder));\n";
+ out << "return (new " << clazz << "(binder))->ref<" << clazz << ">();\n";
out.Dedent();
out << "}\n\n";