diff --git a/res/values/strings.xml b/res/values/strings.xml
index 5f2994915cf..953480f89fa 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8785,15 +8785,15 @@
^1 left
-
- %d days left
-
- %d day left
- %d days left
+
+ No time remaining
+
Less than 1 day left
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreference.java b/src/com/android/settings/datausage/DataUsageSummaryPreference.java
index 0ce8e4f86e0..43ebeccf892 100644
--- a/src/com/android/settings/datausage/DataUsageSummaryPreference.java
+++ b/src/com/android/settings/datausage/DataUsageSummaryPreference.java
@@ -199,18 +199,18 @@ public class DataUsageSummaryPreference extends Preference {
}
private void updateCycleTimeText(PreferenceViewHolder holder) {
- float daysLeft =
- ((float) mCycleEndTimeMs - System.currentTimeMillis()) / MILLIS_IN_A_DAY;
- if (daysLeft < 0) {
- daysLeft = 0;
- }
-
TextView cycleTime = (TextView) holder.findViewById(R.id.cycle_left_time);
- cycleTime.setText(
- (daysLeft > 0 && daysLeft < 1)
- ? getContext().getString(R.string.billing_cycle_less_than_one_day_left)
- : getContext().getResources().getQuantityString(
- R.plurals.billing_cycle_days_left, (int) daysLeft, (int) daysLeft));
+
+ long millisLeft = mCycleEndTimeMs - System.currentTimeMillis();
+ if (millisLeft <= 0) {
+ cycleTime.setText(getContext().getString(R.string.billing_cycle_none_left));
+ } else {
+ int daysLeft = (int)(millisLeft / MILLIS_IN_A_DAY);
+ cycleTime.setText(daysLeft < 1
+ ? getContext().getString(R.string.billing_cycle_less_than_one_day_left)
+ : getContext().getResources().getQuantityString(
+ R.plurals.billing_cycle_days_left, daysLeft, daysLeft));
+ }
}
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
index 638ee792045..58e42a00ccb 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
@@ -179,7 +179,7 @@ public class DataUsageSummaryPreferenceTest {
}
@Test
- public void testSetUsageInfo_cycleRemainingTimeNegativeDaysLeft_shouldDisplayZeroDays() {
+ public void testSetUsageInfo_cycleRemainingTimeNegativeDaysLeft_shouldDisplayNoneLeft() {
final long cycleEnd = System.currentTimeMillis() - 1L;
mSummaryPreference.setUsageInfo(cycleEnd, mUpdateTime, DUMMY_CARRIER, 0 /* numPlans */,
new Intent());
@@ -187,7 +187,7 @@ public class DataUsageSummaryPreferenceTest {
bindViewHolder();
assertThat(mCycleTime.getVisibility()).isEqualTo(View.VISIBLE);
assertThat(mCycleTime.getText()).isEqualTo(
- mContext.getResources().getQuantityString(R.plurals.billing_cycle_days_left, 0, 0));
+ mContext.getString(R.string.billing_cycle_none_left));
}
@Test