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();
 }