Merge "Switch from SI to IEC unit when formatting data usage bytes" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-04-12 23:35:15 +00:00
committed by Android (Google) Code Review
15 changed files with 106 additions and 125 deletions

View File

@@ -110,6 +110,7 @@ public class BillingCycleSettingsTest {
@Test
public void testDataUsageSummary_shouldBeNullWithV2() {
final BillingCycleSettings billingCycleSettings = spy(new BillingCycleSettings());
when(billingCycleSettings.getContext()).thenReturn(mContext);
billingCycleSettings.setUpForTest(mNetworkPolicyEditor, mBillingCycle,
mDataLimit, mDataWarning, mEnableDataLimit, mEnableDataWarning);

View File

@@ -31,13 +31,13 @@ import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkTemplate;
import android.support.v7.widget.RecyclerView;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.applications.AppInfoWithHeaderTest;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
@@ -59,8 +59,6 @@ import org.robolectric.annotation.Config;
import java.util.concurrent.TimeUnit;
import android.support.v7.widget.RecyclerView;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = ShadowEntityHeaderController.class)
public class DataUsageSummaryPreferenceControllerTest {
@@ -68,8 +66,8 @@ public class DataUsageSummaryPreferenceControllerTest {
private static final long UPDATE_BACKOFF_MS = TimeUnit.MINUTES.toMillis(13);
private static final long CYCLE_BACKOFF_MS = TimeUnit.DAYS.toMillis(6);
private static final long CYCLE_LENGTH_MS = TimeUnit.DAYS.toMillis(30);
private static final long USAGE1 = 373000000L;
private static final long LIMIT1 = 1000000000L;
private static final long USAGE1 = 373 * BillingCycleSettings.MIB_IN_BYTES;
private static final long LIMIT1 = BillingCycleSettings.GIB_IN_BYTES;
private static final String CARRIER_NAME = "z-mobile";
private static final String PERIOD = "Feb";
@@ -149,7 +147,7 @@ public class DataUsageSummaryPreferenceControllerTest {
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
mController.updateState(mSummaryPreference);
verify(mSummaryPreference).setLimitInfo("500 MB data warning / 1.00 GB data limit");
verify(mSummaryPreference).setLimitInfo("512 MB data warning / 1.00 GB data limit");
verify(mSummaryPreference).setUsageInfo(info.cycleEnd, now - UPDATE_BACKOFF_MS,
CARRIER_NAME, 1 /* numPlans */, intent);
verify(mSummaryPreference).setChartEnabled(true);
@@ -168,7 +166,7 @@ public class DataUsageSummaryPreferenceControllerTest {
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
mController.updateState(mSummaryPreference);
verify(mSummaryPreference).setLimitInfo("500 MB data warning / 1.00 GB data limit");
verify(mSummaryPreference).setLimitInfo("512 MB data warning / 1.00 GB data limit");
verify(mSummaryPreference).setUsageInfo(info.cycleEnd, now - UPDATE_BACKOFF_MS,
CARRIER_NAME, 0 /* numPlans */, intent);
verify(mSummaryPreference).setChartEnabled(true);
@@ -186,7 +184,7 @@ public class DataUsageSummaryPreferenceControllerTest {
info.cycleEnd, null /* intent */);
mController.updateState(mSummaryPreference);
verify(mSummaryPreference).setLimitInfo("500 MB data warning / 1.00 GB data limit");
verify(mSummaryPreference).setLimitInfo("512 MB data warning / 1.00 GB data limit");
verify(mSummaryPreference).setUsageInfo(
info.cycleEnd,
-1L /* snapshotTime */,
@@ -209,7 +207,7 @@ public class DataUsageSummaryPreferenceControllerTest {
info.cycleEnd, null /* intent */);
mController.updateState(mSummaryPreference);
verify(mSummaryPreference).setLimitInfo("500 MB data warning / 1.00 GB data limit");
verify(mSummaryPreference).setLimitInfo("512 MB data warning / 1.00 GB data limit");
verify(mSummaryPreference).setUsageInfo(
info.cycleEnd,
-1L /* snapshotTime */,
@@ -241,7 +239,7 @@ public class DataUsageSummaryPreferenceControllerTest {
public void testSummaryUpdate_warningOnly() {
final long now = System.currentTimeMillis();
final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
info.warningLevel = 1000000L;
info.warningLevel = BillingCycleSettings.MIB_IN_BYTES;
info.limitLevel = 0L;
final Intent intent = new Intent();
@@ -259,7 +257,7 @@ public class DataUsageSummaryPreferenceControllerTest {
final long now = System.currentTimeMillis();
final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
info.warningLevel = 0L;
info.limitLevel = 1000000L;
info.limitLevel = BillingCycleSettings.MIB_IN_BYTES;
final Intent intent = new Intent();
@@ -275,8 +273,8 @@ public class DataUsageSummaryPreferenceControllerTest {
public void testSummaryUpdate_limitAndWarning() {
final long now = System.currentTimeMillis();
final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
info.warningLevel = 1000000L;
info.limitLevel = 1000000L;
info.warningLevel = BillingCycleSettings.MIB_IN_BYTES;
info.limitLevel = BillingCycleSettings.MIB_IN_BYTES;
final Intent intent = new Intent();
@@ -293,8 +291,8 @@ public class DataUsageSummaryPreferenceControllerTest {
public void testSummaryUpdate_noSim_shouldSetWifiMode() {
final long now = System.currentTimeMillis();
final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
info.warningLevel = 1000000L;
info.limitLevel = 1000000L;
info.warningLevel = BillingCycleSettings.MIB_IN_BYTES;
info.limitLevel = BillingCycleSettings.MIB_IN_BYTES;
final Intent intent = new Intent();

View File

@@ -17,8 +17,6 @@
package com.android.settings.datausage;
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.verify;
import android.app.Activity;
import android.content.ComponentName;
@@ -41,17 +39,15 @@ import com.android.settings.SubSettings;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
import com.android.settingslib.Utils;
import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowActivity;
import java.util.concurrent.TimeUnit;
@@ -216,7 +212,7 @@ public class DataUsageSummaryPreferenceTest {
}
@Test
public void testSetUsageInfo_withRecentCarrierUpdate_doesNotSetCarrierInfoWarningColorAndFont() {
public void setUsageInfo_withRecentCarrierUpdate_doesNotSetCarrierInfoWarningColorAndFont() {
final long updateTime = System.currentTimeMillis() - TimeUnit.HOURS.toMillis(1);
mCarrierInfo = (TextView) mHolder.findViewById(R.id.carrier_and_update);
mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, DUMMY_CARRIER, 1 /* numPlans */,
@@ -364,7 +360,10 @@ public class DataUsageSummaryPreferenceTest {
public void testSetUsageAndRemainingInfo_withUsageInfo_dataUsageAndRemainingShown() {
mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, DUMMY_CARRIER, 1 /* numPlans */,
new Intent());
mSummaryPreference.setUsageNumbers(1000000L, 10000000L, true);
mSummaryPreference.setUsageNumbers(
BillingCycleSettings.MIB_IN_BYTES,
10 * BillingCycleSettings.MIB_IN_BYTES,
true /* hasMobileData */);
bindViewHolder();
assertThat(mDataUsed.getText().toString()).isEqualTo("1.00 MB used");
@@ -377,7 +376,10 @@ public class DataUsageSummaryPreferenceTest {
public void testSetUsageInfo_withDataOverusage() {
mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, DUMMY_CARRIER, 1 /* numPlans */,
new Intent());
mSummaryPreference.setUsageNumbers(11_000_000L, 10_000_000L, true);
mSummaryPreference.setUsageNumbers(
11 * BillingCycleSettings.MIB_IN_BYTES,
10 * BillingCycleSettings.MIB_IN_BYTES,
true /* hasMobileData */);
bindViewHolder();
assertThat(mDataUsed.getText().toString()).isEqualTo("11.00 MB used");
@@ -390,7 +392,8 @@ public class DataUsageSummaryPreferenceTest {
public void testSetUsageInfo_withUsageInfo_dataUsageShown() {
mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, DUMMY_CARRIER, 0 /* numPlans */,
new Intent());
mSummaryPreference.setUsageNumbers(1000000L, -1L, true);
mSummaryPreference.setUsageNumbers(
BillingCycleSettings.MIB_IN_BYTES, -1L, true /* hasMobileData */);
bindViewHolder();
assertThat(mDataUsed.getText().toString()).isEqualTo("1.00 MB used");

View File

@@ -16,11 +16,20 @@
package com.android.settings.datausage;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.endsWith;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import android.app.Activity;
import android.content.Context;
import android.net.NetworkPolicyManager;
import android.os.Bundle;
import android.text.format.Formatter;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -39,17 +48,6 @@ import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.endsWith;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
@Config(shadows = {
SettingsShadowResourcesImpl.class,
SettingsShadowResources.SettingsShadowTheme.class,
@@ -93,8 +91,8 @@ public class DataUsageSummaryTest {
final long usage = 2147483648L; // 2GB
final String formattedUsage =
DataUsageSummary.formatUsage(mContext, "^1", usage).toString();
final String formattedAsFileSize = Formatter.formatFileSize(mContext, usage);
assertThat(formattedUsage).isEqualTo(formattedAsFileSize);
final CharSequence formattedInIECUnit = DataUsageUtils.formatDataUsage(mContext, usage);
assertThat(formattedUsage).isEqualTo(formattedInIECUnit);
}
@Test

View File

@@ -23,6 +23,7 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.net.ConnectivityManager;
import android.telephony.TelephonyManager;
import android.util.DataUnit;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -78,4 +79,12 @@ public final class DataUsageUtilsTest {
boolean hasSim = DataUsageUtils.hasSim(mContext);
assertThat(hasSim).isFalse();
}
@Test
public void formatDataUsage_useIECUnit() {
final CharSequence formattedDataUsage = DataUsageUtils.formatDataUsage(
mContext, DataUnit.GIBIBYTES.toBytes(1));
assertThat(formattedDataUsage).isEqualTo("1.00 GB");
}
}