Change DataUsageSummaryPreference.setLimitInfo(String text) to take CharSequence
"CharSequence is more correct" than String. Change method to take in CharSequence parameter and modify callers/tests. Bug: b/74960034 Test: RunSettingsRoboTests:DataUsageSummaryPreferenceTest and RunSettingsRoboTests:DataUsageSummaryPreferenceControllerTest Change-Id: Ic83bde57bafff8416c0bd86b1ff2beb44ea12d0e
This commit is contained in:
@@ -67,7 +67,7 @@ public class DataUsageSummaryPreference extends Preference {
|
||||
private long mSnapshotTimeMs;
|
||||
/** Name of carrier, or null if not available */
|
||||
private CharSequence mCarrierName;
|
||||
private String mLimitInfoText;
|
||||
private CharSequence mLimitInfoText;
|
||||
private Intent mLaunchIntent;
|
||||
|
||||
/** Progress to display on ProgressBar */
|
||||
@@ -88,7 +88,7 @@ public class DataUsageSummaryPreference extends Preference {
|
||||
setLayoutResource(R.layout.data_usage_summary_preference);
|
||||
}
|
||||
|
||||
public void setLimitInfo(String text) {
|
||||
public void setLimitInfo(CharSequence text) {
|
||||
if (!Objects.equals(text, mLimitInfoText)) {
|
||||
mLimitInfoText = text;
|
||||
notifyChanged();
|
||||
@@ -167,8 +167,7 @@ public class DataUsageSummaryPreference extends Preference {
|
||||
}
|
||||
|
||||
TextView limitInfo = (TextView) holder.findViewById(R.id.data_limits);
|
||||
limitInfo.setVisibility(
|
||||
mLimitInfoText == null || mLimitInfoText.isEmpty() ? View.GONE : View.VISIBLE);
|
||||
limitInfo.setVisibility(TextUtils.isEmpty(mLimitInfoText) ? View.GONE : View.VISIBLE);
|
||||
limitInfo.setText(mLimitInfoText);
|
||||
}
|
||||
|
||||
|
@@ -203,15 +203,15 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
|
||||
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
||||
mContext.getText(R.string.cell_data_warning_and_limit),
|
||||
Formatter.formatFileSize(mContext, info.warningLevel),
|
||||
Formatter.formatFileSize(mContext, info.limitLevel)).toString());
|
||||
Formatter.formatFileSize(mContext, info.limitLevel)));
|
||||
} else if (info.warningLevel > 0) {
|
||||
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
||||
mContext.getText(R.string.cell_data_warning),
|
||||
Formatter.formatFileSize(mContext, info.warningLevel)).toString());
|
||||
Formatter.formatFileSize(mContext, info.warningLevel)));
|
||||
} else if (info.limitLevel > 0) {
|
||||
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
||||
mContext.getText(R.string.cell_data_limit),
|
||||
Formatter.formatFileSize(mContext, info.limitLevel)).toString());
|
||||
Formatter.formatFileSize(mContext, info.limitLevel)));
|
||||
} else {
|
||||
summaryPreference.setLimitInfo(null);
|
||||
}
|
||||
|
@@ -53,6 +53,7 @@ import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@@ -136,7 +137,12 @@ public class DataUsageSummaryPreferenceControllerTest {
|
||||
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||
|
||||
mController.updateState(mSummaryPreference);
|
||||
verify(mSummaryPreference).setLimitInfo("500 MB data warning / 1.00 GB data limit");
|
||||
|
||||
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
|
||||
verify(mSummaryPreference).setLimitInfo(captor.capture());
|
||||
CharSequence value = captor.getValue();
|
||||
assertThat(value.toString()).isEqualTo("500 MB data warning / 1.00 GB data limit");
|
||||
|
||||
verify(mSummaryPreference).setUsageInfo(info.cycleEnd, now - UPDATE_BACKOFF_MS,
|
||||
CARRIER_NAME, 1 /* numPlans */, intent);
|
||||
verify(mSummaryPreference).setChartEnabled(true);
|
||||
@@ -154,7 +160,12 @@ public class DataUsageSummaryPreferenceControllerTest {
|
||||
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||
|
||||
mController.updateState(mSummaryPreference);
|
||||
verify(mSummaryPreference).setLimitInfo("500 MB data warning / 1.00 GB data limit");
|
||||
|
||||
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
|
||||
verify(mSummaryPreference).setLimitInfo(captor.capture());
|
||||
CharSequence value = captor.getValue();
|
||||
assertThat(value.toString()).isEqualTo("500 MB data warning / 1.00 GB data limit");
|
||||
|
||||
verify(mSummaryPreference).setUsageInfo(info.cycleEnd, now - UPDATE_BACKOFF_MS,
|
||||
CARRIER_NAME, 0 /* numPlans */, intent);
|
||||
verify(mSummaryPreference).setChartEnabled(true);
|
||||
@@ -171,7 +182,11 @@ public class DataUsageSummaryPreferenceControllerTest {
|
||||
info.cycleEnd, null /* intent */);
|
||||
mController.updateState(mSummaryPreference);
|
||||
|
||||
verify(mSummaryPreference).setLimitInfo("500 MB data warning / 1.00 GB data limit");
|
||||
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
|
||||
verify(mSummaryPreference).setLimitInfo(captor.capture());
|
||||
CharSequence value = captor.getValue();
|
||||
assertThat(value.toString()).isEqualTo("500 MB data warning / 1.00 GB data limit");
|
||||
|
||||
verify(mSummaryPreference).setUsageInfo(
|
||||
info.cycleEnd,
|
||||
-1L /* snapshotTime */,
|
||||
@@ -193,7 +208,11 @@ public class DataUsageSummaryPreferenceControllerTest {
|
||||
info.cycleEnd, null /* intent */);
|
||||
mController.updateState(mSummaryPreference);
|
||||
|
||||
verify(mSummaryPreference).setLimitInfo("500 MB data warning / 1.00 GB data limit");
|
||||
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
|
||||
verify(mSummaryPreference).setLimitInfo(captor.capture());
|
||||
CharSequence value = captor.getValue();
|
||||
assertThat(value.toString()).isEqualTo("500 MB data warning / 1.00 GB data limit");
|
||||
|
||||
verify(mSummaryPreference).setUsageInfo(
|
||||
info.cycleEnd,
|
||||
-1L /* snapshotTime */,
|
||||
@@ -234,7 +253,11 @@ public class DataUsageSummaryPreferenceControllerTest {
|
||||
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||
|
||||
mController.updateState(mSummaryPreference);
|
||||
verify(mSummaryPreference).setLimitInfo("1.00 MB data warning");
|
||||
|
||||
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
|
||||
verify(mSummaryPreference).setLimitInfo(captor.capture());
|
||||
CharSequence value = captor.getValue();
|
||||
assertThat(value.toString()).isEqualTo("1.00 MB data warning");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -251,7 +274,11 @@ public class DataUsageSummaryPreferenceControllerTest {
|
||||
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||
|
||||
mController.updateState(mSummaryPreference);
|
||||
verify(mSummaryPreference).setLimitInfo("1.00 MB data limit");
|
||||
|
||||
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
|
||||
verify(mSummaryPreference).setLimitInfo(captor.capture());
|
||||
CharSequence value = captor.getValue();
|
||||
assertThat(value.toString()).isEqualTo("1.00 MB data limit");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -268,7 +295,11 @@ public class DataUsageSummaryPreferenceControllerTest {
|
||||
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||
|
||||
mController.updateState(mSummaryPreference);
|
||||
verify(mSummaryPreference).setLimitInfo("1.00 MB data warning / 1.00 MB data limit");
|
||||
|
||||
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
|
||||
verify(mSummaryPreference).setLimitInfo(captor.capture());
|
||||
CharSequence value = captor.getValue();
|
||||
assertThat(value.toString()).isEqualTo("1.00 MB data warning / 1.00 MB data limit");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -304,6 +304,15 @@ public class DataUsageSummaryPreferenceTest {
|
||||
assertThat(mDataLimits.getVisibility()).isEqualTo(View.GONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetLimitInfo_withEmptyLimitInfo_dataLimitsNotShown() {
|
||||
final String emptyLimitText = "";
|
||||
mSummaryPreference.setLimitInfo(emptyLimitText);
|
||||
|
||||
bindViewHolder();
|
||||
assertThat(mDataLimits.getVisibility()).isEqualTo(View.GONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetChartEnabledFalse_hidesLabelBar() {
|
||||
setValidLabels();
|
||||
|
Reference in New Issue
Block a user