Switch from SI to IEC unit when formatting data usage bytes

- Created a new helper method DataUsageUtils.formatDataUsage() to
  format data usage bytes using IEC formatting.
- Switch from Formatter.formatFileSize() to DataUsageUtils.formatDataUsage()
  everywhere in datausage package.

Change-Id: I9323beed8bf5126b153fc9a3cdd9591c97ca6fd2
Merged-In: I9323beed8bf5126b153fc9a3cdd9591c97ca6fd2
Fixes: 76159924
Test: robotests
This commit is contained in:
Fan Zhang
2018-04-11 13:59:12 -07:00
parent 3441c3b073
commit be30190362
15 changed files with 106 additions and 125 deletions

View File

@@ -14,7 +14,6 @@
package com.android.settings.datausage;
import android.util.Log;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
@@ -28,7 +27,6 @@ import android.support.v7.preference.PreferenceScreen;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionPlan;
import android.telephony.TelephonyManager;
import android.text.BidiFormatter;
import android.text.Spannable;
import android.text.SpannableString;
@@ -231,7 +229,7 @@ public class DataUsageSummary extends DataUsageBaseFragment implements Indexable
final int FLAGS = Spannable.SPAN_INCLUSIVE_INCLUSIVE;
final Formatter.BytesResult usedResult = Formatter.formatBytes(context.getResources(),
usageLevel, Formatter.FLAG_CALCULATE_ROUNDED);
usageLevel, Formatter.FLAG_CALCULATE_ROUNDED | Formatter.FLAG_IEC_UNITS);
final SpannableString enlargedValue = new SpannableString(usedResult.value);
enlargedValue.setSpan(new RelativeSizeSpan(larger), 0, enlargedValue.length(), FLAGS);
@@ -309,7 +307,7 @@ public class DataUsageSummary extends DataUsageBaseFragment implements Indexable
final CharSequence wifiFormat = mActivity
.getText(R.string.data_usage_wifi_format);
final CharSequence sizeText =
Formatter.formatFileSize(mActivity, info.usageLevel);
DataUsageUtils.formatDataUsage(mActivity, info.usageLevel);
mSummaryLoader.setSummary(this,
TextUtils.expandTemplate(wifiFormat, sizeText));
}
@@ -317,7 +315,7 @@ public class DataUsageSummary extends DataUsageBaseFragment implements Indexable
}
}
private String formatUsedData() {
private CharSequence formatUsedData() {
SubscriptionManager subscriptionManager = (SubscriptionManager) mActivity
.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
int defaultSubId = subscriptionManager.getDefaultSubscriptionId();
@@ -330,19 +328,19 @@ public class DataUsageSummary extends DataUsageBaseFragment implements Indexable
return formatFallbackData();
}
if (DataUsageSummaryPreferenceController.unlimited(dfltPlan.getDataLimitBytes())) {
return Formatter.formatFileSize(mActivity, dfltPlan.getDataUsageBytes());
return DataUsageUtils.formatDataUsage(mActivity, dfltPlan.getDataUsageBytes());
} else {
return Utils.formatPercentage(dfltPlan.getDataUsageBytes(),
dfltPlan.getDataLimitBytes());
}
}
private String formatFallbackData() {
private CharSequence formatFallbackData() {
DataUsageController.DataUsageInfo info = mDataController.getDataUsageInfo();
if (info == null) {
return Formatter.formatFileSize(mActivity, 0);
return DataUsageUtils.formatDataUsage(mActivity, 0);
} else if (info.limitLevel <= 0) {
return Formatter.formatFileSize(mActivity, info.usageLevel);
return DataUsageUtils.formatDataUsage(mActivity, info.usageLevel);
} else {
return Utils.formatPercentage(info.usageLevel, info.limitLevel);
}