summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/com/android/server/connectivity/NetworkMonitor.java4
-rw-r--r--tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java13
2 files changed, 17 insertions, 0 deletions
diff --git a/src/com/android/server/connectivity/NetworkMonitor.java b/src/com/android/server/connectivity/NetworkMonitor.java
index e8fe2ca..a4f934f 100644
--- a/src/com/android/server/connectivity/NetworkMonitor.java
+++ b/src/com/android/server/connectivity/NetworkMonitor.java
@@ -2253,6 +2253,10 @@ public class NetworkMonitor extends StateMachine {
@VisibleForTesting
protected boolean isDataStall() {
+ if (!isValidationRequired()) {
+ return false;
+ }
+
Boolean result = null;
final StringJoiner msg = (DBG || VDBG_STALL) ? new StringJoiner(", ") : null;
// Reevaluation will generate traffic. Thus, set a minimal reevaluation timer to limit the
diff --git a/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java b/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java
index 35cdb11..469284b 100644
--- a/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java
+++ b/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java
@@ -815,6 +815,19 @@ public class NetworkMonitorTest {
}
@Test
+ public void testIsDataStall_SkipEvaluateOnValidationNotRequiredNetwork() {
+ // Make DNS and TCP stall condition satisfied.
+ setDataStallEvaluationType(DATA_STALL_EVALUATION_TYPE_DNS | DATA_STALL_EVALUATION_TYPE_TCP);
+ when(mTstDependencies.isTcpInfoParsingSupported()).thenReturn(true);
+ when(mTst.getLatestReceivedCount()).thenReturn(0);
+ when(mTst.isDataStallSuspected()).thenReturn(true);
+ final WrappedNetworkMonitor nm = makeMonitor(NO_INTERNET_CAPABILITIES);
+ nm.setLastProbeTime(SystemClock.elapsedRealtime() - 1000);
+ makeDnsTimeoutEvent(nm, DEFAULT_DNS_TIMEOUT_THRESHOLD);
+ assertFalse(nm.isDataStall());
+ }
+
+ @Test
public void testIsDataStall_EvaluationDnsWithDnsTimeThreshold() {
// Test dns events happened in valid dns time threshold.
WrappedNetworkMonitor wrappedMonitor = makeMeteredNetworkMonitor();