Add the string "No time remaining" when remaining time <= 0.
Bug: 70950124
Test: manual
Test: make RunSettingsRoboTests
Change-Id: Id8ff1dde78f3389b5ab15120a2460ab19e895c6f
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9f2fe1b..17bbfea 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8765,15 +8765,15 @@
<string name="data_remaining"><xliff:g name="bytes" example="2 GB">^1</xliff:g> left</string>
<!-- Informational text about time left in billing cycle [CHAR LIMIT=60] -->
- <string name="cycle_left_multiple_days"><xliff:g name="time" example="2d">%d</xliff:g> days left</string>
-
- <!-- Informational text about time left in billing cycle [CHAR LIMIT=60] -->
<plurals name="billing_cycle_days_left">
<item quantity="one">%d day left</item>
<item quantity="other">%d days left</item>
</plurals>
<!-- Informational text about time left in billing cycle [CHAR LIMIT=60] -->
+ <string name="billing_cycle_none_left">No time remaining</string>
+
+ <!-- Informational text about time left in billing cycle [CHAR LIMIT=60] -->
<string name="billing_cycle_less_than_one_day_left">Less than 1 day left</string>
<!-- Informational text about carrier and update time [CHAR LIMIT=30] -->
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreference.java b/src/com/android/settings/datausage/DataUsageSummaryPreference.java
index e8715aa..16b917a 100644
--- a/src/com/android/settings/datausage/DataUsageSummaryPreference.java
+++ b/src/com/android/settings/datausage/DataUsageSummaryPreference.java
@@ -185,18 +185,18 @@
}
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 638ee79..58e42a0 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 @@
}
@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 @@
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