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;
|
private long mSnapshotTimeMs;
|
||||||
/** Name of carrier, or null if not available */
|
/** Name of carrier, or null if not available */
|
||||||
private CharSequence mCarrierName;
|
private CharSequence mCarrierName;
|
||||||
private String mLimitInfoText;
|
private CharSequence mLimitInfoText;
|
||||||
private Intent mLaunchIntent;
|
private Intent mLaunchIntent;
|
||||||
|
|
||||||
/** Progress to display on ProgressBar */
|
/** Progress to display on ProgressBar */
|
||||||
@@ -88,7 +88,7 @@ public class DataUsageSummaryPreference extends Preference {
|
|||||||
setLayoutResource(R.layout.data_usage_summary_preference);
|
setLayoutResource(R.layout.data_usage_summary_preference);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLimitInfo(String text) {
|
public void setLimitInfo(CharSequence text) {
|
||||||
if (!Objects.equals(text, mLimitInfoText)) {
|
if (!Objects.equals(text, mLimitInfoText)) {
|
||||||
mLimitInfoText = text;
|
mLimitInfoText = text;
|
||||||
notifyChanged();
|
notifyChanged();
|
||||||
@@ -167,8 +167,7 @@ public class DataUsageSummaryPreference extends Preference {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TextView limitInfo = (TextView) holder.findViewById(R.id.data_limits);
|
TextView limitInfo = (TextView) holder.findViewById(R.id.data_limits);
|
||||||
limitInfo.setVisibility(
|
limitInfo.setVisibility(TextUtils.isEmpty(mLimitInfoText) ? View.GONE : View.VISIBLE);
|
||||||
mLimitInfoText == null || mLimitInfoText.isEmpty() ? View.GONE : View.VISIBLE);
|
|
||||||
limitInfo.setText(mLimitInfoText);
|
limitInfo.setText(mLimitInfoText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -203,15 +203,15 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
|
|||||||
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
||||||
mContext.getText(R.string.cell_data_warning_and_limit),
|
mContext.getText(R.string.cell_data_warning_and_limit),
|
||||||
Formatter.formatFileSize(mContext, info.warningLevel),
|
Formatter.formatFileSize(mContext, info.warningLevel),
|
||||||
Formatter.formatFileSize(mContext, info.limitLevel)).toString());
|
Formatter.formatFileSize(mContext, info.limitLevel)));
|
||||||
} else if (info.warningLevel > 0) {
|
} else if (info.warningLevel > 0) {
|
||||||
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
||||||
mContext.getText(R.string.cell_data_warning),
|
mContext.getText(R.string.cell_data_warning),
|
||||||
Formatter.formatFileSize(mContext, info.warningLevel)).toString());
|
Formatter.formatFileSize(mContext, info.warningLevel)));
|
||||||
} else if (info.limitLevel > 0) {
|
} else if (info.limitLevel > 0) {
|
||||||
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
||||||
mContext.getText(R.string.cell_data_limit),
|
mContext.getText(R.string.cell_data_limit),
|
||||||
Formatter.formatFileSize(mContext, info.limitLevel)).toString());
|
Formatter.formatFileSize(mContext, info.limitLevel)));
|
||||||
} else {
|
} else {
|
||||||
summaryPreference.setLimitInfo(null);
|
summaryPreference.setLimitInfo(null);
|
||||||
}
|
}
|
||||||
|
@@ -53,6 +53,7 @@ import org.mockito.MockitoAnnotations;
|
|||||||
import org.robolectric.Robolectric;
|
import org.robolectric.Robolectric;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
|
import org.mockito.ArgumentCaptor;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@@ -136,7 +137,12 @@ public class DataUsageSummaryPreferenceControllerTest {
|
|||||||
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||||
|
|
||||||
mController.updateState(mSummaryPreference);
|
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,
|
verify(mSummaryPreference).setUsageInfo(info.cycleEnd, now - UPDATE_BACKOFF_MS,
|
||||||
CARRIER_NAME, 1 /* numPlans */, intent);
|
CARRIER_NAME, 1 /* numPlans */, intent);
|
||||||
verify(mSummaryPreference).setChartEnabled(true);
|
verify(mSummaryPreference).setChartEnabled(true);
|
||||||
@@ -154,7 +160,12 @@ public class DataUsageSummaryPreferenceControllerTest {
|
|||||||
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||||
|
|
||||||
mController.updateState(mSummaryPreference);
|
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,
|
verify(mSummaryPreference).setUsageInfo(info.cycleEnd, now - UPDATE_BACKOFF_MS,
|
||||||
CARRIER_NAME, 0 /* numPlans */, intent);
|
CARRIER_NAME, 0 /* numPlans */, intent);
|
||||||
verify(mSummaryPreference).setChartEnabled(true);
|
verify(mSummaryPreference).setChartEnabled(true);
|
||||||
@@ -171,7 +182,11 @@ public class DataUsageSummaryPreferenceControllerTest {
|
|||||||
info.cycleEnd, null /* intent */);
|
info.cycleEnd, null /* intent */);
|
||||||
mController.updateState(mSummaryPreference);
|
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(
|
verify(mSummaryPreference).setUsageInfo(
|
||||||
info.cycleEnd,
|
info.cycleEnd,
|
||||||
-1L /* snapshotTime */,
|
-1L /* snapshotTime */,
|
||||||
@@ -193,7 +208,11 @@ public class DataUsageSummaryPreferenceControllerTest {
|
|||||||
info.cycleEnd, null /* intent */);
|
info.cycleEnd, null /* intent */);
|
||||||
mController.updateState(mSummaryPreference);
|
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(
|
verify(mSummaryPreference).setUsageInfo(
|
||||||
info.cycleEnd,
|
info.cycleEnd,
|
||||||
-1L /* snapshotTime */,
|
-1L /* snapshotTime */,
|
||||||
@@ -234,7 +253,11 @@ public class DataUsageSummaryPreferenceControllerTest {
|
|||||||
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||||
|
|
||||||
mController.updateState(mSummaryPreference);
|
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
|
@Test
|
||||||
@@ -251,7 +274,11 @@ public class DataUsageSummaryPreferenceControllerTest {
|
|||||||
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||||
|
|
||||||
mController.updateState(mSummaryPreference);
|
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
|
@Test
|
||||||
@@ -268,7 +295,11 @@ public class DataUsageSummaryPreferenceControllerTest {
|
|||||||
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||||
|
|
||||||
mController.updateState(mSummaryPreference);
|
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
|
@Test
|
||||||
|
@@ -304,6 +304,15 @@ public class DataUsageSummaryPreferenceTest {
|
|||||||
assertThat(mDataLimits.getVisibility()).isEqualTo(View.GONE);
|
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
|
@Test
|
||||||
public void testSetChartEnabledFalse_hidesLabelBar() {
|
public void testSetChartEnabledFalse_hidesLabelBar() {
|
||||||
setValidLabels();
|
setValidLabels();
|
||||||
|
Reference in New Issue
Block a user