Minor change for async DNS API

do the minor changes to address comments before

Bug: 129395490
Test: atest DnsResolverTest
Change-Id: I56e2e5bc4352ff5c979579247a333a41950079da
diff --git a/core/java/android/net/DnsResolver.java b/core/java/android/net/DnsResolver.java
index 687b721..06c32c6 100644
--- a/core/java/android/net/DnsResolver.java
+++ b/core/java/android/net/DnsResolver.java
@@ -62,7 +62,7 @@
     private static final String TAG = "DnsResolver";
     private static final int FD_EVENTS = EVENT_INPUT | EVENT_ERROR;
     private static final int MAXPACKET = 8 * 1024;
-    private static final int SLEEP_TIME = 2;
+    private static final int SLEEP_TIME_MS = 2;
 
     @IntDef(prefix = { "CLASS_" }, value = {
             CLASS_IN
@@ -228,8 +228,11 @@
             return;
         }
 
-        registerFDListener(executor, queryfd, callback, cancellationSignal, lock);
-        maybeAddCancellationSignal(cancellationSignal, queryfd, lock);
+        synchronized (lock)  {
+            registerFDListener(executor, queryfd, callback, cancellationSignal, lock);
+            if (cancellationSignal == null) return;
+            addCancellationSignal(cancellationSignal, queryfd, lock);
+        }
     }
 
     /**
@@ -267,9 +270,11 @@
             });
             return;
         }
-
-        registerFDListener(executor, queryfd, callback, cancellationSignal, lock);
-        maybeAddCancellationSignal(cancellationSignal, queryfd, lock);
+        synchronized (lock)  {
+            registerFDListener(executor, queryfd, callback, cancellationSignal, lock);
+            if (cancellationSignal == null) return;
+            addCancellationSignal(cancellationSignal, queryfd, lock);
+        }
     }
 
     private class InetAddressAnswerAccumulator extends InetAddressAnswerCallback {
@@ -368,10 +373,10 @@
             queryCount++;
         } else v6fd = null;
 
-        // TODO: Use device flag to controll the sleep time.
+        // TODO: Use device flag to control the sleep time.
         // Avoiding gateways drop packets if queries are sent too close together
         try {
-            Thread.sleep(SLEEP_TIME);
+            Thread.sleep(SLEEP_TIME_MS);
         } catch (InterruptedException ex) { }
 
         if (queryIpv4) {
@@ -391,16 +396,21 @@
         final InetAddressAnswerAccumulator accumulator =
                 new InetAddressAnswerAccumulator(queryCount, callback);
 
-        if (queryIpv6) registerFDListener(executor, v6fd, accumulator, cancellationSignal, lock);
-        if (queryIpv4) registerFDListener(executor, v4fd, accumulator, cancellationSignal, lock);
-
-        if (cancellationSignal == null) return;
-        cancellationSignal.setOnCancelListener(() -> {
-            synchronized (lock)  {
-                if (queryIpv4) cancelQuery(v4fd);
-                if (queryIpv6) cancelQuery(v6fd);
+        synchronized (lock)  {
+            if (queryIpv6) {
+                registerFDListener(executor, v6fd, accumulator, cancellationSignal, lock);
             }
-        });
+            if (queryIpv4) {
+                registerFDListener(executor, v4fd, accumulator, cancellationSignal, lock);
+            }
+            if (cancellationSignal == null) return;
+            cancellationSignal.setOnCancelListener(() -> {
+                synchronized (lock)  {
+                    if (queryIpv4) cancelQuery(v4fd);
+                    if (queryIpv6) cancelQuery(v6fd);
+                }
+            });
+        }
     }
 
     private <T> void registerFDListener(@NonNull Executor executor,
@@ -443,9 +453,8 @@
         resNetworkCancel(queryfd);  // Closes fd, marks it invalid.
     }
 
-    private void maybeAddCancellationSignal(@Nullable CancellationSignal cancellationSignal,
+    private void addCancellationSignal(@NonNull CancellationSignal cancellationSignal,
             @NonNull FileDescriptor queryfd, @NonNull Object lock) {
-        if (cancellationSignal == null) return;
         cancellationSignal.setOnCancelListener(() -> {
             synchronized (lock)  {
                 cancelQuery(queryfd);