Only show mobile data usage information when mobile data is enabled.
Bug: 70950124 Test: manual Test: make RunSettingsRoboTests Change-Id: I4eb774120cbcf50f40d22c7c8c3caeb0eacbbed3
This commit is contained in:
@@ -103,18 +103,10 @@ public class DataUsageSummary extends DataUsageBaseFragment implements Indexable
|
|||||||
removePreference(KEY_RESTRICT_BACKGROUND);
|
removePreference(KEY_RESTRICT_BACKGROUND);
|
||||||
}
|
}
|
||||||
if (hasMobileData) {
|
if (hasMobileData) {
|
||||||
List<SubscriptionInfo> subscriptions =
|
SubscriptionInfo subInfo
|
||||||
services.mSubscriptionManager.getActiveSubscriptionInfoList();
|
= services.mSubscriptionManager.getDefaultDataSubscriptionInfo();
|
||||||
if (subscriptions == null || subscriptions.size() == 0) {
|
if (subInfo != null) {
|
||||||
addMobileSection(defaultSubId);
|
addMobileSection(subInfo.getSubscriptionId());
|
||||||
}
|
|
||||||
for (int i = 0; subscriptions != null && i < subscriptions.size(); i++) {
|
|
||||||
SubscriptionInfo subInfo = subscriptions.get(i);
|
|
||||||
if (subscriptions.size() > 1) {
|
|
||||||
addMobileSection(subInfo.getSubscriptionId(), subInfo);
|
|
||||||
} else {
|
|
||||||
addMobileSection(subInfo.getSubscriptionId());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
boolean hasWifiRadio = DataUsageUtils.hasWifiRadio(context);
|
boolean hasWifiRadio = DataUsageUtils.hasWifiRadio(context);
|
||||||
|
@@ -37,7 +37,6 @@ 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;
|
||||||
|
|
||||||
@@ -150,7 +149,8 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
return AVAILABLE;
|
return mSubscriptionManager.getDefaultDataSubscriptionInfo() != null
|
||||||
|
? AVAILABLE : DISABLED_UNSUPPORTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -16,6 +16,9 @@
|
|||||||
|
|
||||||
package com.android.settings.datausage;
|
package com.android.settings.datausage;
|
||||||
|
|
||||||
|
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
||||||
|
import static com.android.settings.core.BasePreferenceController.DISABLED_UNSUPPORTED;
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static org.mockito.Matchers.any;
|
import static org.mockito.Matchers.any;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
@@ -25,6 +28,8 @@ import static org.mockito.Mockito.when;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.NetworkTemplate;
|
import android.net.NetworkTemplate;
|
||||||
|
import android.telephony.SubscriptionInfo;
|
||||||
|
import android.telephony.SubscriptionManager;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
@@ -61,6 +66,8 @@ public class DataUsageSummaryPreferenceControllerTest {
|
|||||||
private NetworkPolicyEditor mPolicyEditor;
|
private NetworkPolicyEditor mPolicyEditor;
|
||||||
@Mock
|
@Mock
|
||||||
private NetworkTemplate mNetworkTemplate;
|
private NetworkTemplate mNetworkTemplate;
|
||||||
|
@Mock
|
||||||
|
private SubscriptionManager mSubscriptionManager;
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private DataUsageSummaryPreferenceController mController;
|
private DataUsageSummaryPreferenceController mController;
|
||||||
@@ -230,6 +237,40 @@ public class DataUsageSummaryPreferenceControllerTest {
|
|||||||
verify(mSummaryPreference).setLimitInfo("1.00 MB data warning / 1.00 MB data limit");
|
verify(mSummaryPreference).setLimitInfo("1.00 MB data warning / 1.00 MB data limit");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMobileData_preferenceAvailable() {
|
||||||
|
mController = new DataUsageSummaryPreferenceController(
|
||||||
|
mContext,
|
||||||
|
mDataUsageController,
|
||||||
|
mDataInfoController,
|
||||||
|
mNetworkTemplate,
|
||||||
|
mPolicyEditor,
|
||||||
|
R.string.cell_data_template,
|
||||||
|
true,
|
||||||
|
mSubscriptionManager);
|
||||||
|
|
||||||
|
final SubscriptionInfo subInfo = new SubscriptionInfo(0, "123456", 0, "name", "carrier",
|
||||||
|
0, 0, "number", 0, null, 123, 456, "ZX");
|
||||||
|
when(mSubscriptionManager.getDefaultDataSubscriptionInfo()).thenReturn(subInfo);
|
||||||
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMobileData_preferenceDisabled() {
|
||||||
|
mController = new DataUsageSummaryPreferenceController(
|
||||||
|
mContext,
|
||||||
|
mDataUsageController,
|
||||||
|
mDataInfoController,
|
||||||
|
mNetworkTemplate,
|
||||||
|
mPolicyEditor,
|
||||||
|
R.string.cell_data_template,
|
||||||
|
true,
|
||||||
|
mSubscriptionManager);
|
||||||
|
|
||||||
|
when(mSubscriptionManager.getDefaultDataSubscriptionInfo()).thenReturn(null);
|
||||||
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_UNSUPPORTED);
|
||||||
|
}
|
||||||
|
|
||||||
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