OSDN Git Service

Format app data usage using IEC unit, not SI unit.
authorFan Zhang <zhfan@google.com>
Fri, 3 May 2019 22:57:05 +0000 (15:57 -0700)
committerFan Zhang <zhfan@google.com>
Fri, 3 May 2019 23:53:11 +0000 (16:53 -0700)
Fixes: 131924586
Test: visual
Change-Id: Iedbd15fb9c98a5c93089708e40175cbf5572eeda

src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
src/com/android/settings/datausage/WifiDataUsageSummaryPreferenceController.java
src/com/android/settings/network/telephony/DataUsagePreferenceController.java
tests/robotests/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.java

index a06bb77..600b9e8 100644 (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);
         }
index 8b6d10a..0551fc2 100644 (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));
     }
 }
index f9e0a97..3f55003 100644 (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));
         }
     }
index 348f8b4..5ffda81 100644 (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");
+    }
 }