In Data Usage screen, Below the data bar, Add “X days left” field.

Bug: 70950124

Test: manual
Test: make RunSettingsRoboTests
Change-Id: I35eb3f0c09c84d609ad54e87400913ec77e19ea0
This commit is contained in:
Jan Nordqvist
2018-03-09 15:13:46 -08:00
committed by Sundeep Ghuman
parent 21ef6cb644
commit a6f6e9c41c
3 changed files with 61 additions and 12 deletions

View File

@@ -32,6 +32,7 @@ import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
import com.android.settingslib.utils.StringUtil;
import java.util.concurrent.TimeUnit;
import org.junit.Before;
import org.junit.Test;
@@ -137,16 +138,41 @@ public class DataUsageSummaryPreferenceTest {
}
@Test
public void testSetUsageInfo_cycleRemainingTimeShown() {
mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, DUMMY_CARRIER, 0 /* numPlans */,
public void testSetUsageInfo_cycleRemainingTimeIsLessOneDay() {
// just under one day
final long cycleEnd = System.currentTimeMillis() + TimeUnit.DAYS.toMillis(1) - 1;
mSummaryPreference.setUsageInfo(cycleEnd, mUpdateTime, DUMMY_CARRIER, 0 /* numPlans */,
new Intent());
String cyclePrefix = StringUtil.formatElapsedTime(mContext, CYCLE_DURATION_MILLIS,
false /* withSeconds */).toString();
String text = mContext.getString(R.string.cycle_left_time_text, cyclePrefix);
bindViewHolder();
assertThat(mCycleTime.getVisibility()).isEqualTo(View.VISIBLE);
assertThat(mCycleTime.getText()).isEqualTo(text);
assertThat(mCycleTime.getText()).isEqualTo(
mContext.getString(R.string.billing_cycle_less_than_one_day_left));
}
@Test
public void testSetUsageInfo_cycleRemainingTimeNegativeDaysLeft_shouldDisplayZeroDays() {
final long cycleEnd = System.currentTimeMillis() - 1L;
mSummaryPreference.setUsageInfo(cycleEnd, mUpdateTime, DUMMY_CARRIER, 0 /* numPlans */,
new Intent());
bindViewHolder();
assertThat(mCycleTime.getVisibility()).isEqualTo(View.VISIBLE);
assertThat(mCycleTime.getText()).isEqualTo(
mContext.getResources().getQuantityString(R.plurals.billing_cycle_days_left, 0, 0));
}
@Test
public void testSetUsageInfo_cycleRemainingTimeDaysLeft_shouldUsePlurals() {
final int daysLeft = 3;
final long cycleEnd = System.currentTimeMillis() + TimeUnit.DAYS.toMillis(daysLeft)
+ TimeUnit.HOURS.toMillis(1);
mSummaryPreference.setUsageInfo(cycleEnd, mUpdateTime, DUMMY_CARRIER, 0 /* numPlans */,
new Intent());
bindViewHolder();
assertThat(mCycleTime.getVisibility()).isEqualTo(View.VISIBLE);
assertThat(mCycleTime.getText()).isEqualTo(daysLeft + " days left");
}
@Test