Move MdnsResponseDecoder.Clock to MdnsUtils
This is a no-op change. The Clock class is a wrapper that is used for testing. So move it from MdnsResponseDecoder to MdnsUtils for subsequence metrics changes. Bug: 287546772 Test: m Change-Id: If4c8c0061c76ae26fc78a5ff463a31d57470fba0
This commit is contained in:
@@ -74,7 +74,7 @@ public class EnqueueMdnsQueryCallable implements Callable<Pair<Integer, List<Str
|
|||||||
@NonNull
|
@NonNull
|
||||||
private final List<MdnsResponse> servicesToResolve;
|
private final List<MdnsResponse> servicesToResolve;
|
||||||
@NonNull
|
@NonNull
|
||||||
private final MdnsResponseDecoder.Clock clock;
|
private final MdnsUtils.Clock clock;
|
||||||
private final boolean onlyUseIpv6OnIpv6OnlyNetworks;
|
private final boolean onlyUseIpv6OnIpv6OnlyNetworks;
|
||||||
|
|
||||||
EnqueueMdnsQueryCallable(
|
EnqueueMdnsQueryCallable(
|
||||||
@@ -88,7 +88,7 @@ public class EnqueueMdnsQueryCallable implements Callable<Pair<Integer, List<Str
|
|||||||
boolean onlyUseIpv6OnIpv6OnlyNetworks,
|
boolean onlyUseIpv6OnIpv6OnlyNetworks,
|
||||||
boolean sendDiscoveryQueries,
|
boolean sendDiscoveryQueries,
|
||||||
@NonNull Collection<MdnsResponse> servicesToResolve,
|
@NonNull Collection<MdnsResponse> servicesToResolve,
|
||||||
@NonNull MdnsResponseDecoder.Clock clock) {
|
@NonNull MdnsUtils.Clock clock) {
|
||||||
weakRequestSender = new WeakReference<>(requestSender);
|
weakRequestSender = new WeakReference<>(requestSender);
|
||||||
this.packetWriter = packetWriter;
|
this.packetWriter = packetWriter;
|
||||||
serviceTypeLabels = TextUtils.split(serviceType, "\\.");
|
serviceTypeLabels = TextUtils.split(serviceType, "\\.");
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package com.android.server.connectivity.mdns;
|
|||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.net.Network;
|
import android.net.Network;
|
||||||
import android.os.SystemClock;
|
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
@@ -40,10 +39,10 @@ public class MdnsResponseDecoder {
|
|||||||
private final boolean allowMultipleSrvRecordsPerHost =
|
private final boolean allowMultipleSrvRecordsPerHost =
|
||||||
MdnsConfigs.allowMultipleSrvRecordsPerHost();
|
MdnsConfigs.allowMultipleSrvRecordsPerHost();
|
||||||
@Nullable private final String[] serviceType;
|
@Nullable private final String[] serviceType;
|
||||||
private final Clock clock;
|
private final MdnsUtils.Clock clock;
|
||||||
|
|
||||||
/** Constructs a new decoder that will extract responses for the given service type. */
|
/** Constructs a new decoder that will extract responses for the given service type. */
|
||||||
public MdnsResponseDecoder(@NonNull Clock clock, @Nullable String[] serviceType) {
|
public MdnsResponseDecoder(@NonNull MdnsUtils.Clock clock, @Nullable String[] serviceType) {
|
||||||
this.clock = clock;
|
this.clock = clock;
|
||||||
this.serviceType = serviceType;
|
this.serviceType = serviceType;
|
||||||
}
|
}
|
||||||
@@ -330,10 +329,4 @@ public class MdnsResponseDecoder {
|
|||||||
}
|
}
|
||||||
return result == null ? List.of() : result;
|
return result == null ? List.of() : result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Clock {
|
|
||||||
public long elapsedRealtime() {
|
|
||||||
return SystemClock.elapsedRealtime();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
package com.android.server.connectivity.mdns;
|
package com.android.server.connectivity.mdns;
|
||||||
|
|
||||||
import static com.android.server.connectivity.mdns.MdnsServiceCache.findMatchedResponse;
|
import static com.android.server.connectivity.mdns.MdnsServiceCache.findMatchedResponse;
|
||||||
|
import static com.android.server.connectivity.mdns.util.MdnsUtils.Clock;
|
||||||
import static com.android.server.connectivity.mdns.util.MdnsUtils.ensureRunningOnHandlerThread;
|
import static com.android.server.connectivity.mdns.util.MdnsUtils.ensureRunningOnHandlerThread;
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
@@ -73,7 +74,7 @@ public class MdnsServiceTypeClient {
|
|||||||
new ArrayMap<>();
|
new ArrayMap<>();
|
||||||
private final boolean removeServiceAfterTtlExpires =
|
private final boolean removeServiceAfterTtlExpires =
|
||||||
MdnsConfigs.removeServiceAfterTtlExpires();
|
MdnsConfigs.removeServiceAfterTtlExpires();
|
||||||
private final MdnsResponseDecoder.Clock clock;
|
private final Clock clock;
|
||||||
|
|
||||||
@Nullable private MdnsSearchOptions searchOptions;
|
@Nullable private MdnsSearchOptions searchOptions;
|
||||||
|
|
||||||
@@ -193,8 +194,8 @@ public class MdnsServiceTypeClient {
|
|||||||
@NonNull SharedLog sharedLog,
|
@NonNull SharedLog sharedLog,
|
||||||
@NonNull Looper looper,
|
@NonNull Looper looper,
|
||||||
@NonNull MdnsServiceCache serviceCache) {
|
@NonNull MdnsServiceCache serviceCache) {
|
||||||
this(serviceType, socketClient, executor, new MdnsResponseDecoder.Clock(), socketKey,
|
this(serviceType, socketClient, executor, new Clock(), socketKey, sharedLog, looper,
|
||||||
sharedLog, looper, new Dependencies(), serviceCache);
|
new Dependencies(), serviceCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -202,7 +203,7 @@ public class MdnsServiceTypeClient {
|
|||||||
@NonNull String serviceType,
|
@NonNull String serviceType,
|
||||||
@NonNull MdnsSocketClientBase socketClient,
|
@NonNull MdnsSocketClientBase socketClient,
|
||||||
@NonNull ScheduledExecutorService executor,
|
@NonNull ScheduledExecutorService executor,
|
||||||
@NonNull MdnsResponseDecoder.Clock clock,
|
@NonNull Clock clock,
|
||||||
@NonNull SocketKey socketKey,
|
@NonNull SocketKey socketKey,
|
||||||
@NonNull SharedLog sharedLog,
|
@NonNull SharedLog sharedLog,
|
||||||
@NonNull Looper looper,
|
@NonNull Looper looper,
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import android.annotation.NonNull;
|
|||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.net.Network;
|
import android.net.Network;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.SystemClock;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
|
|
||||||
import com.android.server.connectivity.mdns.MdnsConstants;
|
import com.android.server.connectivity.mdns.MdnsConstants;
|
||||||
@@ -173,4 +174,14 @@ public class MdnsUtils {
|
|||||||
return mdnsRecord.getTtl() > 0
|
return mdnsRecord.getTtl() > 0
|
||||||
&& mdnsRecord.getRemainingTTL(now) <= mdnsRecord.getTtl() / 2;
|
&& mdnsRecord.getRemainingTTL(now) <= mdnsRecord.getTtl() / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** A wrapper class of {@link SystemClock} to be mocked in unit tests. */
|
||||||
|
public static class Clock {
|
||||||
|
/**
|
||||||
|
* @see SystemClock#elapsedRealtime
|
||||||
|
*/
|
||||||
|
public long elapsedRealtime() {
|
||||||
|
return SystemClock.elapsedRealtime();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,7 @@ package com.android.server.connectivity.mdns;
|
|||||||
|
|
||||||
import static android.net.InetAddresses.parseNumericAddress;
|
import static android.net.InetAddresses.parseNumericAddress;
|
||||||
|
|
||||||
import static com.android.server.connectivity.mdns.MdnsResponseDecoder.Clock;
|
import static com.android.server.connectivity.mdns.util.MdnsUtils.Clock;
|
||||||
import static com.android.testutils.DevSdkIgnoreRuleKt.SC_V2;
|
import static com.android.testutils.DevSdkIgnoreRuleKt.SC_V2;
|
||||||
|
|
||||||
import static org.junit.Assert.assertArrayEquals;
|
import static org.junit.Assert.assertArrayEquals;
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ import com.android.net.module.util.CollectionUtils;
|
|||||||
import com.android.net.module.util.SharedLog;
|
import com.android.net.module.util.SharedLog;
|
||||||
import com.android.server.connectivity.mdns.MdnsServiceInfo.TextEntry;
|
import com.android.server.connectivity.mdns.MdnsServiceInfo.TextEntry;
|
||||||
import com.android.server.connectivity.mdns.MdnsServiceTypeClient.QueryTaskConfig;
|
import com.android.server.connectivity.mdns.MdnsServiceTypeClient.QueryTaskConfig;
|
||||||
|
import com.android.server.connectivity.mdns.util.MdnsUtils;
|
||||||
import com.android.testutils.DevSdkIgnoreRule;
|
import com.android.testutils.DevSdkIgnoreRule;
|
||||||
import com.android.testutils.DevSdkIgnoreRunner;
|
import com.android.testutils.DevSdkIgnoreRunner;
|
||||||
import com.android.testutils.HandlerUtils;
|
import com.android.testutils.HandlerUtils;
|
||||||
@@ -113,7 +114,7 @@ public class MdnsServiceTypeClientTests {
|
|||||||
@Mock
|
@Mock
|
||||||
private Network mockNetwork;
|
private Network mockNetwork;
|
||||||
@Mock
|
@Mock
|
||||||
private MdnsResponseDecoder.Clock mockDecoderClock;
|
private MdnsUtils.Clock mockDecoderClock;
|
||||||
@Mock
|
@Mock
|
||||||
private SharedLog mockSharedLog;
|
private SharedLog mockSharedLog;
|
||||||
@Mock
|
@Mock
|
||||||
|
|||||||
Reference in New Issue
Block a user