Merge "Fix inconsistent data usage cycle start time."
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataLoader.java b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataLoader.java
index d957801..305a1ff 100644
--- a/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataLoader.java
+++ b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataLoader.java
@@ -22,7 +22,6 @@
import android.app.usage.NetworkStats;
import android.app.usage.NetworkStatsManager;
import android.content.Context;
-import android.net.ConnectivityManager;
import android.net.INetworkStatsService;
import android.net.INetworkStatsSession;
import android.net.NetworkPolicy;
@@ -35,14 +34,14 @@
import android.text.format.DateUtils;
import android.util.Pair;
+import androidx.annotation.VisibleForTesting;
+import androidx.loader.content.AsyncTaskLoader;
+
import com.android.settingslib.NetworkPolicyEditor;
import java.time.ZonedDateTime;
import java.util.Iterator;
-import androidx.annotation.VisibleForTesting;
-import androidx.loader.content.AsyncTaskLoader;
-
/**
* Loader for network data usage history. It returns a list of usage data per billing cycle.
*/
@@ -121,8 +120,7 @@
long cycleEnd = historyEnd;
while (cycleEnd > historyStart) {
- final long cycleStart = Math.max(
- historyStart, cycleEnd - (DateUtils.WEEK_IN_MILLIS * 4));
+ final long cycleStart = cycleEnd - (DateUtils.WEEK_IN_MILLIS * 4);
recordUsage(cycleStart, cycleEnd);
cycleEnd = cycleStart;
}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleDataLoaderTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleDataLoaderTest.java
index 2d8ea12..b8a143a 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleDataLoaderTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleDataLoaderTest.java
@@ -130,7 +130,8 @@
.thenReturn(networkHistory);
final long now = System.currentTimeMillis();
final long fourWeeksAgo = now - (DateUtils.WEEK_IN_MILLIS * 4);
- when(networkHistory.getStart()).thenReturn(fourWeeksAgo);
+ final long twoDaysAgo = now - (DateUtils.DAY_IN_MILLIS * 2);
+ when(networkHistory.getStart()).thenReturn(twoDaysAgo);
when(networkHistory.getEnd()).thenReturn(now);
mLoader.loadFourWeeksData();