Decouple PrivateDnsConfiguration from resolv_cache.h

This change is to simplify writting tests for PrivateDnsConfiguration.

Also add a network ID check before starting any resolver configuration.

Bug: 79727473
Test: cd packages/modules/DnsResolver && atest
Change-Id: Icf0040c67aafe5318a61fc3d2b7158d8f0384367
diff --git a/ResolverController.cpp b/ResolverController.cpp
index 6a10326..051f095 100644
--- a/ResolverController.cpp
+++ b/ResolverController.cpp
@@ -201,6 +201,10 @@
 int ResolverController::setResolverConfiguration(const ResolverParamsParcel& resolverParams) {
     using aidl::android::net::IDnsResolver;
 
+    if (!has_named_cache(resolverParams.netId)) {
+        return -ENOENT;
+    }
+
     // Expect to get the mark with system permission.
     android_net_context netcontext;
     gResNetdCallbacks.get_network_context(resolverParams.netId, 0 /* uid */, &netcontext);
@@ -223,6 +227,10 @@
         return err;
     }
 
+    if (int err = resolv_stats_set_servers_for_dot(resolverParams.netId, tlsServers); err != 0) {
+        return err;
+    }
+
     res_params res_params = {};
     res_params.sample_validity = resolverParams.sampleValiditySeconds;
     res_params.success_threshold = resolverParams.successThreshold;