Merge "Change text for data warning and data limit." into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b673aaadc9
@@ -8693,6 +8693,15 @@
|
|||||||
<!-- Title of button for application usage cycle preferences [CHAR LIMIT=40] -->
|
<!-- Title of button for application usage cycle preferences [CHAR LIMIT=40] -->
|
||||||
<string name="app_usage_cycle">App data usage cycle</string>
|
<string name="app_usage_cycle">App data usage cycle</string>
|
||||||
|
|
||||||
|
<!-- Format for a summary describing the amount of data before the user is warned [CHAR LIMIT=NONE] -->
|
||||||
|
<string name="cell_data_warning"><xliff:g name="amount" example="1 GB">^1</xliff:g> data warning</string>
|
||||||
|
|
||||||
|
<!-- Format for a summary describing the amount of data the limit is set to [CHAR LIMIT=NONE] -->
|
||||||
|
<string name="cell_data_limit"><xliff:g name="amount" example="1 GB">^1</xliff:g> data limit</string>
|
||||||
|
|
||||||
|
<!-- Format for a summary describing the amount of data before the user is warned or limited [CHAR LIMIT=NONE] -->
|
||||||
|
<string name="cell_data_warning_and_limit"><xliff:g name="amount" example="1 GB">^1</xliff:g> data warning / <xliff:g name="amount" example="2 GB">^2</xliff:g> data limit</string>
|
||||||
|
|
||||||
<!-- Summary describing when the billing cycle for their phone carrier starts [CHAR LIMIT=NONE] -->
|
<!-- Summary describing when the billing cycle for their phone carrier starts [CHAR LIMIT=NONE] -->
|
||||||
<string name="billing_cycle_fragment_summary">Monthly on day <xliff:g name="day_of_month" example="17">%1$s</xliff:g></string>
|
<string name="billing_cycle_fragment_summary">Monthly on day <xliff:g name="day_of_month" example="17">%1$s</xliff:g></string>
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@ import android.util.RecurrenceRule;
|
|||||||
import com.android.internal.util.CollectionUtils;
|
import com.android.internal.util.CollectionUtils;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settingslib.NetworkPolicyEditor;
|
import com.android.settingslib.NetworkPolicyEditor;
|
||||||
import com.android.settingslib.net.DataUsageController;
|
import com.android.settingslib.net.DataUsageController;
|
||||||
|
|
||||||
@@ -164,12 +165,19 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
|
|||||||
refreshDataplanInfo(info);
|
refreshDataplanInfo(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mDataplanCount == 0 && (info.warningLevel > 0 || info.limitLevel > 0)) {
|
if (info.warningLevel > 0 && info.limitLevel > 0) {
|
||||||
final String warning = Formatter.formatFileSize(mContext, info.warningLevel);
|
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
||||||
final String limit = Formatter.formatFileSize(mContext, info.limitLevel);
|
mContext.getText(R.string.cell_data_warning_and_limit),
|
||||||
summaryPreference.setLimitInfo(mContext.getString(info.limitLevel <= 0
|
Formatter.formatFileSize(mContext, info.warningLevel),
|
||||||
? R.string.cell_warning_only
|
Formatter.formatFileSize(mContext, info.limitLevel)).toString());
|
||||||
: R.string.cell_warning_and_limit, warning, limit));
|
} else if (info.warningLevel > 0) {
|
||||||
|
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
||||||
|
mContext.getText(R.string.cell_data_warning),
|
||||||
|
Formatter.formatFileSize(mContext, info.warningLevel)).toString());
|
||||||
|
} else if (info.limitLevel > 0) {
|
||||||
|
summaryPreference.setLimitInfo(TextUtils.expandTemplate(
|
||||||
|
mContext.getText(R.string.cell_data_limit),
|
||||||
|
Formatter.formatFileSize(mContext, info.limitLevel)).toString());
|
||||||
} else {
|
} else {
|
||||||
summaryPreference.setLimitInfo(null);
|
summaryPreference.setLimitInfo(null);
|
||||||
}
|
}
|
||||||
@@ -188,6 +196,13 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
|
|||||||
mDataplanCount, mManageSubscriptionIntent);
|
mDataplanCount, mManageSubscriptionIntent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getLimitText(long limit, int textId) {
|
||||||
|
if (limit <= 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return mContext.getString(textId, Formatter.formatFileSize(mContext, limit));
|
||||||
|
}
|
||||||
|
|
||||||
// TODO(b/70950124) add test for this method once the robolectric shadow run script is
|
// TODO(b/70950124) add test for this method once the robolectric shadow run script is
|
||||||
// completed (b/3526807)
|
// completed (b/3526807)
|
||||||
private void refreshDataplanInfo(DataUsageController.DataUsageInfo info) {
|
private void refreshDataplanInfo(DataUsageController.DataUsageInfo info) {
|
||||||
|
@@ -90,12 +90,12 @@ public class DataUsageSummaryPreferenceControllerTest {
|
|||||||
|
|
||||||
final Intent intent = new Intent();
|
final Intent intent = new Intent();
|
||||||
|
|
||||||
when(mDataUsageController.getDataUsageInfo()).thenReturn(info);
|
when(mDataUsageController.getDataUsageInfo(any())).thenReturn(info);
|
||||||
mController.setPlanValues(1 /* dataPlanCount */, LIMIT1, USAGE1);
|
mController.setPlanValues(1 /* dataPlanCount */, LIMIT1, USAGE1);
|
||||||
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(null);
|
verify(mSummaryPreference).setLimitInfo("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);
|
||||||
@@ -113,7 +113,7 @@ 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");
|
verify(mSummaryPreference).setLimitInfo("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);
|
||||||
@@ -130,7 +130,7 @@ 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");
|
verify(mSummaryPreference).setLimitInfo("500 MB data warning / 1.00 GB data limit");
|
||||||
verify(mSummaryPreference).setUsageInfo(
|
verify(mSummaryPreference).setUsageInfo(
|
||||||
info.cycleEnd,
|
info.cycleEnd,
|
||||||
-1L /* snapshotTime */,
|
-1L /* snapshotTime */,
|
||||||
@@ -152,7 +152,7 @@ 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");
|
verify(mSummaryPreference).setLimitInfo("500 MB data warning / 1.00 GB data limit");
|
||||||
verify(mSummaryPreference).setUsageInfo(
|
verify(mSummaryPreference).setUsageInfo(
|
||||||
info.cycleEnd,
|
info.cycleEnd,
|
||||||
-1L /* snapshotTime */,
|
-1L /* snapshotTime */,
|
||||||
@@ -162,6 +162,74 @@ public class DataUsageSummaryPreferenceControllerTest {
|
|||||||
verify(mSummaryPreference).setChartEnabled(false);
|
verify(mSummaryPreference).setChartEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSummaryUpdate_noLimitNoWarning() {
|
||||||
|
final long now = System.currentTimeMillis();
|
||||||
|
final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
|
||||||
|
info.warningLevel = 0L;
|
||||||
|
info.limitLevel = 0L;
|
||||||
|
|
||||||
|
final Intent intent = new Intent();
|
||||||
|
|
||||||
|
when(mDataUsageController.getDataUsageInfo(any())).thenReturn(info);
|
||||||
|
mController.setPlanValues(0 /* dataPlanCount */, LIMIT1, USAGE1);
|
||||||
|
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||||
|
|
||||||
|
mController.updateState(mSummaryPreference);
|
||||||
|
verify(mSummaryPreference).setLimitInfo(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSummaryUpdate_warningOnly() {
|
||||||
|
final long now = System.currentTimeMillis();
|
||||||
|
final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
|
||||||
|
info.warningLevel = 1000000L;
|
||||||
|
info.limitLevel = 0L;
|
||||||
|
|
||||||
|
final Intent intent = new Intent();
|
||||||
|
|
||||||
|
when(mDataUsageController.getDataUsageInfo(any())).thenReturn(info);
|
||||||
|
mController.setPlanValues(0 /* dataPlanCount */, LIMIT1, USAGE1);
|
||||||
|
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||||
|
|
||||||
|
mController.updateState(mSummaryPreference);
|
||||||
|
verify(mSummaryPreference).setLimitInfo("1.00 MB data warning");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSummaryUpdate_limitOnly() {
|
||||||
|
final long now = System.currentTimeMillis();
|
||||||
|
final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
|
||||||
|
info.warningLevel = 0L;
|
||||||
|
info.limitLevel = 1000000L;
|
||||||
|
|
||||||
|
final Intent intent = new Intent();
|
||||||
|
|
||||||
|
when(mDataUsageController.getDataUsageInfo(any())).thenReturn(info);
|
||||||
|
mController.setPlanValues(0 /* dataPlanCount */, LIMIT1, USAGE1);
|
||||||
|
mController.setCarrierValues(CARRIER_NAME, now - UPDATE_BACKOFF_MS, info.cycleEnd, intent);
|
||||||
|
|
||||||
|
mController.updateState(mSummaryPreference);
|
||||||
|
verify(mSummaryPreference).setLimitInfo("1.00 MB data limit");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSummaryUpdate_limitAndWarning() {
|
||||||
|
final long now = System.currentTimeMillis();
|
||||||
|
final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
|
||||||
|
info.warningLevel = 1000000L;
|
||||||
|
info.limitLevel = 1000000L;
|
||||||
|
|
||||||
|
final Intent intent = new Intent();
|
||||||
|
|
||||||
|
when(mDataUsageController.getDataUsageInfo(any())).thenReturn(info);
|
||||||
|
mController.setPlanValues(0 /* dataPlanCount */, LIMIT1, USAGE1);
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
|
||||||
private DataUsageController.DataUsageInfo createTestDataUsageInfo(long now) {
|
private DataUsageController.DataUsageInfo createTestDataUsageInfo(long now) {
|
||||||
DataUsageController.DataUsageInfo info = new DataUsageController.DataUsageInfo();
|
DataUsageController.DataUsageInfo info = new DataUsageController.DataUsageInfo();
|
||||||
info.carrier = CARRIER_NAME;
|
info.carrier = CARRIER_NAME;
|
||||||
|
Reference in New Issue
Block a user