diff --git a/service/src/com/android/server/connectivity/KeepaliveStatsTracker.java b/service/src/com/android/server/connectivity/KeepaliveStatsTracker.java index 7a8b41b68f..48af9fa25a 100644 --- a/service/src/com/android/server/connectivity/KeepaliveStatsTracker.java +++ b/service/src/com/android/server/connectivity/KeepaliveStatsTracker.java @@ -74,9 +74,10 @@ import java.util.concurrent.atomic.AtomicBoolean; public class KeepaliveStatsTracker { private static final String TAG = KeepaliveStatsTracker.class.getSimpleName(); private static final int INVALID_KEEPALIVE_ID = -1; - // 1 hour acceptable deviation in metrics collection duration time. + // 2 hour acceptable deviation in metrics collection duration time to account for the 1 hour + // window of AlarmManager. private static final long MAX_EXPECTED_DURATION_MS = - AutomaticOnOffKeepaliveTracker.METRICS_COLLECTION_DURATION_MS + 1 * 60 * 60 * 1_000L; + AutomaticOnOffKeepaliveTracker.METRICS_COLLECTION_DURATION_MS + 2 * 60 * 60 * 1_000L; @NonNull private final Handler mConnectivityServiceHandler; @NonNull private final Dependencies mDependencies; diff --git a/tests/unit/java/com/android/server/connectivity/KeepaliveStatsTrackerTest.java b/tests/unit/java/com/android/server/connectivity/KeepaliveStatsTrackerTest.java index 1b964e2a51..294dacbad3 100644 --- a/tests/unit/java/com/android/server/connectivity/KeepaliveStatsTrackerTest.java +++ b/tests/unit/java/com/android/server/connectivity/KeepaliveStatsTrackerTest.java @@ -1297,8 +1297,8 @@ public class KeepaliveStatsTrackerTest { assertTrue(mKeepaliveStatsTracker.allMetricsExpected(dailyKeepaliveInfoReported)); - // Write time after 26 hours. - final int writeTime2 = 26 * 60 * 60 * 1000; + // Write time after 27 hours. + final int writeTime2 = 27 * 60 * 60 * 1000; setElapsedRealtime(writeTime2); visibleOnHandlerThread(mTestHandler, () -> mKeepaliveStatsTracker.writeAndResetMetrics());