[Settings] Align data usage calculation
Align the calculation of data usage between
DataUsageSummaryPreferenceController and DataUsagePrefereneController.
Bug: 143996139
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=DataUsageSummaryPreferenceControllerTest
Change-Id: I73de79b5cc298bf949827eda0a8bb0274089c016
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
index 239ad21..2a91c48 100644
--- a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
+++ b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
@@ -210,6 +210,11 @@
final DataUsageController.DataUsageInfo info =
mDataUsageController.getDataUsageInfo(mDefaultTemplate);
+ long usageLevel = info.usageLevel;
+ if (usageLevel <= 0L) {
+ usageLevel = mDataUsageController.getHistoricalUsageLevel(mDefaultTemplate);
+ }
+
if (subInfo != null) {
mDataInfoController.updateDataLimit(info, mPolicyEditor.getPolicy(mDefaultTemplate));
summaryPreference.setWifiMode(/* isWifiMode */ false,
@@ -218,7 +223,7 @@
summaryPreference.setWifiMode(/* isWifiMode */ true, /* usagePeriod */
info.period, /* isSingleWifi */ false);
summaryPreference.setLimitInfo(null);
- summaryPreference.setUsageNumbers(info.usageLevel,
+ summaryPreference.setUsageNumbers(usageLevel,
/* dataPlanSize */ -1L,
/* hasMobileData */ true);
summaryPreference.setChartEnabled(false);
@@ -231,6 +236,11 @@
}
refreshDataplanInfo(info, subInfo);
+ if ((mDataplanUse <= 0L) && (mSnapshotTime < 0)) {
+ Log.d(TAG, "Display data usage from history");
+ mDataplanUse = usageLevel;
+ mSnapshotTime = -1L;
+ }
if (info.warningLevel > 0 && info.limitLevel > 0) {
summaryPreference.setLimitInfo(TextUtils.expandTemplate(