Merge "Replace android::sp by std::shared_ptr and drop the libutils dependency" into main am: 6ad81f522b am: 1b47aea2a8

Original change: https://android-review.googlesource.com/c/platform/packages/modules/DnsResolver/+/2875498

Change-Id: I3a0529a045261f7c7e35c877b4af99bb1d964ac5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/Android.bp b/Android.bp
index 4047527..f0fd5c6 100644
--- a/Android.bp
+++ b/Android.bp
@@ -275,7 +275,6 @@
         "libprotobuf-cpp-lite",
         "libstatslog_resolv",
         "libsysutils",
-        "libutils",
         "netd_event_listener_interface-lateststable-ndk",
         "server_configurable_flags",
         "stats_proto",
diff --git a/Dns64Configuration.cpp b/Dns64Configuration.cpp
index fc1428d..c09ce36 100644
--- a/Dns64Configuration.cpp
+++ b/Dns64Configuration.cpp
@@ -24,7 +24,6 @@
 #include <netdutils/DumpWriter.h>
 #include <netdutils/InternetAddresses.h>
 #include <netdutils/ThreadUtil.h>
-#include <utils/StrongPointer.h>
 #include <thread>
 #include <utility>
 
@@ -37,7 +36,6 @@
 
 namespace android {
 
-using android::sp;
 using netdutils::DumpWriter;
 using netdutils::IPAddress;
 using netdutils::IPPrefix;
@@ -63,7 +61,7 @@
     // Emplace a copy of |cfg| in the map.
     mDns64Configs.emplace(std::make_pair(netId, cfg));
 
-    const sp<Dns64Configuration> thiz = sp<Dns64Configuration>::fromExisting(this);
+    const std::shared_ptr<Dns64Configuration> thiz = shared_from_this();
     // Note that capturing |cfg| in this lambda creates a copy.
     std::thread discovery_thread([thiz, cfg, netId] {
         setThreadName(fmt::format("Nat64Pfx_{}", netId));
diff --git a/Dns64Configuration.h b/Dns64Configuration.h
index 4170e32..35d3afe 100644
--- a/Dns64Configuration.h
+++ b/Dns64Configuration.h
@@ -27,7 +27,6 @@
 #include <android-base/thread_annotations.h>
 #include <netdutils/DumpWriter.h>
 #include <netdutils/InternetAddresses.h>
-#include <utils/RefBase.h>
 
 struct android_net_context;
 
@@ -49,7 +48,7 @@
  * Thread-safety: All public methods in this class MUST be thread-safe.
  * (In other words: this class handles all its locking privately.)
  */
-class Dns64Configuration : virtual public RefBase {
+class Dns64Configuration : public std::enable_shared_from_this<Dns64Configuration> {
   public:
     // Simple data struct for passing back packet NAT64 prefix event information to the
     // Dns64PrefixCallback callback.
diff --git a/ResolverController.cpp b/ResolverController.cpp
index 757e3f7..3198ec2 100644
--- a/ResolverController.cpp
+++ b/ResolverController.cpp
@@ -155,7 +155,7 @@
 }  // namespace
 
 ResolverController::ResolverController()
-    : mDns64Configuration(android::sp<Dns64Configuration>::make(
+    : mDns64Configuration(make_shared<Dns64Configuration>(
               [](uint32_t netId, uint32_t uid, android_net_context* netcontext) {
                   gResNetdCallbacks.get_network_context(netId, uid, netcontext);
               },
diff --git a/ResolverController.h b/ResolverController.h
index b74cff9..c2fc8e7 100644
--- a/ResolverController.h
+++ b/ResolverController.h
@@ -66,7 +66,7 @@
     void dump(netdutils::DumpWriter& dw, unsigned netId);
 
   private:
-    android::sp<Dns64Configuration> mDns64Configuration;
+    std::shared_ptr<Dns64Configuration> mDns64Configuration;
 };
 }  // namespace net
 }  // namespace android
diff --git a/tests/Android.bp b/tests/Android.bp
index b126603..d18deaa 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -274,7 +274,6 @@
         "libstatslog_resolv",
         "libstatspush_compat",
         "libsysutils",
-        "libutils",
         "resolv_stats_test_utils",
         "server_configurable_flags",
         "stats_proto",