In Data Usage screen, add over-limit state.

Bug: 70950124
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=DataUsageSummaryPreferenceTest

Change-Id: Ieec0c486c6a5451cd5983f02e202ddac3413a602
This commit is contained in:
Sundeep Ghuman
2018-03-14 23:00:54 -07:00
parent 8a241f642e
commit 21ef6cb644
3 changed files with 37 additions and 11 deletions

View File

@@ -131,16 +131,7 @@ public class DataUsageSummaryPreference extends Preference {
holder.findViewById(R.id.label_bar).setVisibility(View.GONE);
}
TextView usageNumberField = (TextView) holder.findViewById(R.id.data_usage_view);
usageNumberField.setText(TextUtils.expandTemplate(
getContext().getString(R.string.data_used),
Formatter.formatFileSize(getContext(), mDataplanUse)));
if (mHasMobileData && mNumPlans >= 0 && mDataplanSize > 0L) {
TextView usageRemainingField = (TextView) holder.findViewById(R.id.data_remaining_view);
usageRemainingField.setText(
TextUtils.expandTemplate(getContext().getText(R.string.data_remaining),
Formatter.formatFileSize(getContext(), mDataplanSize - mDataplanUse)));
}
updateDataUsageLabels(holder);
TextView usageTitle = (TextView) holder.findViewById(R.id.usage_title);
usageTitle.setVisibility(mNumPlans > 1 ? View.VISIBLE : View.GONE);
@@ -169,6 +160,26 @@ public class DataUsageSummaryPreference extends Preference {
limitInfo.setText(mLimitInfoText);
}
private void updateDataUsageLabels(PreferenceViewHolder holder) {
TextView usageNumberField = (TextView) holder.findViewById(R.id.data_usage_view);
usageNumberField.setText(TextUtils.expandTemplate(
getContext().getString(R.string.data_used),
Formatter.formatFileSize(getContext(), mDataplanUse)));
if (mHasMobileData && mNumPlans >= 0 && mDataplanSize > 0L) {
TextView usageRemainingField = (TextView) holder.findViewById(R.id.data_remaining_view);
long dataRemaining = mDataplanSize - mDataplanUse;
if (dataRemaining >= 0) {
usageRemainingField.setText(
TextUtils.expandTemplate(getContext().getText(R.string.data_remaining),
Formatter.formatFileSize(getContext(), dataRemaining)));
} else {
usageRemainingField.setText(
TextUtils.expandTemplate(getContext().getText(R.string.data_overusage),
Formatter.formatFileSize(getContext(), -dataRemaining)));
}
}
}
private void setCarrierInfo(TextView carrierInfo, CharSequence carrierName, long updateAge) {
if (mNumPlans > 0 && updateAge >= 0L) {
carrierInfo.setVisibility(View.VISIBLE);