Add getOemNetd method to INetd.aidl
OEM could get their customized OemNetd binder by this method
Bug: 120251561
Test: built, flashed, booted
system/netd/tests/runtests.sh pass
Change-Id: I40696573c99798cab609816675ec9070d1311b91
diff --git a/server/NetdNativeService.cpp b/server/NetdNativeService.cpp
index c2598ce..ab64973 100644
--- a/server/NetdNativeService.cpp
+++ b/server/NetdNativeService.cpp
@@ -1254,5 +1254,11 @@
return binder::Status::ok();
}
+binder::Status NetdNativeService::getOemNetd(android::sp<android::IBinder>* listener) {
+ ENFORCE_NETWORK_STACK_PERMISSIONS();
+ *listener = nullptr;
+ return binder::Status::ok();
+}
+
} // namespace net
} // namespace android
diff --git a/server/NetdNativeService.h b/server/NetdNativeService.h
index 518530c..86d4b73 100644
--- a/server/NetdNativeService.h
+++ b/server/NetdNativeService.h
@@ -246,6 +246,8 @@
binder::Status registerUnsolicitedEventListener(
const android::sp<android::net::INetdUnsolicitedEventListener>& listener) override;
+ binder::Status getOemNetd(android::sp<android::IBinder>* listener) override;
+
private:
std::vector<uid_t> intsToUids(const std::vector<int32_t>& intUids);
Permission convertPermission(int32_t permission);
diff --git a/server/binder/android/net/INetd.aidl b/server/binder/android/net/INetd.aidl
index 0e3b3d2..ec9bbc3 100644
--- a/server/binder/android/net/INetd.aidl
+++ b/server/binder/android/net/INetd.aidl
@@ -1187,4 +1187,11 @@
* cause of the failure.
*/
void trafficSwapActiveStatsMap();
+
+ /**
+ * Retrieves OEM netd listener interface
+ *
+ * @return a IBinder object, it could be casted to oem specific interface.
+ */
+ IBinder getOemNetd();
}