Format app data usage using IEC unit, not SI unit.

Fixes: 131924586
Test: visual
Change-Id: Iedbd15fb9c98a5c93089708e40175cbf5572eeda
This commit is contained in:
Fan Zhang
2019-05-03 15:57:05 -07:00
parent 56b88886a0
commit 71d793cc2a
4 changed files with 20 additions and 18 deletions

View File

@@ -25,7 +25,6 @@ import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionPlan;
import android.text.TextUtils;
import android.text.format.Formatter;
import android.util.Log;
import android.util.RecurrenceRule;
@@ -247,7 +246,7 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
summaryPreference.setChartEnabled(false);
} else {
summaryPreference.setChartEnabled(true);
summaryPreference.setLabels(Formatter.formatFileSize(mContext, 0 /* sizeBytes */),
summaryPreference.setLabels(DataUsageUtils.formatDataUsage(mContext, 0 /* sizeBytes */),
DataUsageUtils.formatDataUsage(mContext, mDataBarSize));
summaryPreference.setProgress(mDataplanUse / (float) mDataBarSize);
}

View File

@@ -19,7 +19,6 @@ package com.android.settings.datausage;
import android.app.Activity;
import android.net.NetworkTemplate;
import android.telephony.SubscriptionManager;
import android.text.format.Formatter;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
@@ -28,7 +27,7 @@ import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.net.DataUsageController;
/**
* The controller displays a data usage chart for the specified Wi-Fi network.
* The controller displays a data usage chart for the specified Wi-Fi network.
*/
public class WifiDataUsageSummaryPreferenceController extends DataUsageSummaryPreferenceController {
final String mNetworkId;
@@ -66,7 +65,7 @@ public class WifiDataUsageSummaryPreferenceController extends DataUsageSummaryPr
// TODO(b/126142293): Passpoint Wi-Fi should have limit of data usage and time remaining
mPreference.setProgress(100);
mPreference.setLabels(Formatter.formatFileSize(mContext, /* sizeBytes */ 0),
mPreference.setLabels(DataUsageUtils.formatDataUsage(mContext, /* sizeBytes */ 0),
DataUsageUtils.formatDataUsage(mContext, info.usageLevel));
}
}

View File

@@ -28,6 +28,7 @@ import android.text.format.Formatter;
import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.datausage.DataUsageUtils;
import com.android.settingslib.net.DataUsageController;
/**
@@ -77,7 +78,7 @@ public class DataUsagePreferenceController extends TelephonyBasePreferenceContro
if (enabled) {
preference.setSummary(mContext.getString(R.string.data_usage_template,
Formatter.formatFileSize(mContext, mDataUsageInfo.usageLevel),
DataUsageUtils.formatDataUsage(mContext, mDataUsageInfo.usageLevel),
mDataUsageInfo.period));
}
}

View File

@@ -18,20 +18,15 @@ package com.android.settings.network.telephony;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyLong;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.Activity;
import android.app.usage.NetworkStats;
import android.app.usage.NetworkStatsManager;
import android.content.Context;
import android.content.Intent;
import android.net.TrafficStats;
import android.provider.Settings;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -114,16 +109,24 @@ public class DataUsagePreferenceControllerTest {
}
@Test
public void updateState_noUsageData_shouldDisablePreference() throws Exception {
final NetworkStatsManager networkStatsManager = mock(NetworkStatsManager.class);
when(networkStatsManager.querySummaryForDevice(anyInt() /* networkType */,
anyString() /* subscriberId */, anyLong() /* startTime */, anyLong() /* endTime */))
.thenReturn(mock(NetworkStats.Bucket.class));
public void updateState_noUsageData_shouldDisablePreference() {
ReflectionHelpers.setField(
mController, "mDataUsageInfo", new DataUsageController.DataUsageInfo());
mController, "mDataUsageInfo", new DataUsageController.DataUsageInfo());
mController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isFalse();
}
@Test
public void updateState_shouldUseIECUnit() {
final DataUsageController.DataUsageInfo usageInfo = new DataUsageController.DataUsageInfo();
usageInfo.usageLevel = TrafficStats.MB_IN_BYTES;
ReflectionHelpers.setField(mController, "mDataUsageInfo", usageInfo);
mController.updateState(mPreference);
assertThat(mPreference.getSummary().toString())
.contains("1.00 MB");
}
}