Revert "Revert "libbinder_rs: Treat previously associated Binder as remote""
This reverts commit f6b9ad98ee61149f42b6ca0bf84068d4411a92f8.
Reason for revert: Includes fix for aidl_integration_test failure that prompted the initial revert
Original commit message:
libbinder_rs: Treat previously associated Binder as remote
A binder object may have already been associated by another module (e.g.
NDK code that created the object if it is local) and therefore already
have an NDK AIBinder_Class. In this case we still want to transact with
the object, but must treat it as remote if its class does not match the
class expected for a compatible Rust service.
Re-landing this change with the fix for aidl_integration_test failure
that prompted its reversion.
Bug: 167723746
Test: atest rustBinderTest binderRustNdkInteropTest
Change-Id: I9a848bcc4b8003a22ebe59c89a95be70ef6ee7ec
diff --git a/libs/binder/rust/src/proxy.rs b/libs/binder/rust/src/proxy.rs
index 5002fc6..485bb42 100644
--- a/libs/binder/rust/src/proxy.rs
+++ b/libs/binder/rust/src/proxy.rs
@@ -91,7 +91,7 @@
/// Return the interface class of this binder object, if associated with
/// one.
- pub(crate) fn get_class(&mut self) -> Option<InterfaceClass> {
+ pub fn get_class(&mut self) -> Option<InterfaceClass> {
unsafe {
// Safety: `SpIBinder` guarantees that it always contains a valid
// `AIBinder` pointer. `AIBinder_getClass` returns either a null