Query correct subscription id for mobile data.

- On the Data usage settings page, we check for valid subscription id to
determine if we should show the mobile section. However, we are querying
the default subscription id, which will return the 1st id for any
subscription if there's no data subscription. Since this is for mobile
section, we should query the default data subscription id explicitly.

Change-Id: I08c80639d07477e486a2d9a10761e11df4c73b28
Fixes: 119881046
Test: make RunSettingsRoboTests
This commit is contained in:
Doris Ling
2019-01-24 14:21:18 -08:00
parent 1fe41d44fe
commit 9c2556da09
3 changed files with 30 additions and 5 deletions

View File

@@ -31,6 +31,7 @@ import static org.mockito.Mockito.verify;
import android.app.usage.NetworkStatsManager;
import android.content.Context;
import android.net.NetworkPolicyManager;
import android.telephony.SubscriptionManager;
import androidx.fragment.app.FragmentActivity;
@@ -50,6 +51,7 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import org.robolectric.shadows.ShadowSubscriptionManager;
@Config(shadows = {
ShadowUtils.class,
@@ -114,10 +116,11 @@ public class DataUsageSummaryTest {
}
@Test
@Config(shadows = ShadowSubscriptionManager.class)
public void configuration_withSim_shouldShowMobileAndWifi() {
ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
ShadowDataUsageUtils.DEFAULT_SUBSCRIPTION_ID = 1;
ShadowSubscriptionManager.setDefaultDataSubscriptionId(1);
ShadowDataUsageUtils.HAS_SIM = true;
final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
@@ -170,4 +173,26 @@ public class DataUsageSummaryTest {
verify(dataUsageSummary).addWifiSection();
verify(dataUsageSummary, never()).addMobileSection(anyInt());
}
@Test
@Config(shadows = ShadowSubscriptionManager.class)
public void configuration_invalidDataSusbscription_shouldShowWifiSectionOnly() {
ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
ShadowDataUsageUtils.HAS_SIM = false;
ShadowSubscriptionManager.setDefaultDataSubscriptionId(
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
doReturn(mContext).when(dataUsageSummary).getContext();
doReturn(true).when(dataUsageSummary).removePreference(anyString());
doNothing().when(dataUsageSummary).addWifiSection();
doNothing().when(dataUsageSummary).addMobileSection(1);
dataUsageSummary.onCreate(null);
verify(dataUsageSummary).addWifiSection();
verify(dataUsageSummary, never()).addMobileSection(anyInt());
}
}