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