Merge "Query correct subscription id for mobile data."
This commit is contained in:
committed by
Android (Google) Code Review
commit
7e19cfbbe1
@@ -135,8 +135,8 @@ public class DataUsageList extends DataUsageBaseFragment {
|
||||
mUidDetailProvider = new UidDetailProvider(activity);
|
||||
mTelephonyManager = activity.getSystemService(TelephonyManager.class);
|
||||
mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
|
||||
mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA);
|
||||
mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP);
|
||||
mChart = findPreference(KEY_CHART_DATA);
|
||||
mApps = findPreference(KEY_APPS_GROUP);
|
||||
processArgument();
|
||||
}
|
||||
|
||||
@@ -306,7 +306,7 @@ public class DataUsageList extends DataUsageBaseFragment {
|
||||
getLoaderManager().restartLoader(LOADER_SUMMARY, null /* args */,
|
||||
mNetworkStatsDetailCallbacks);
|
||||
|
||||
final long totalBytes = mCycleData != null
|
||||
final long totalBytes = mCycleData != null && !mCycleData.isEmpty()
|
||||
? mCycleData.get(mCycleSpinner.getSelectedItemPosition()).getTotalUsage() : 0;
|
||||
final CharSequence totalPhrase = DataUsageUtils.formatDataUsage(getActivity(), totalBytes);
|
||||
mUsageAmount.setTitle(getString(R.string.data_used_template, totalPhrase));
|
||||
|
@@ -87,7 +87,7 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
|
||||
|
||||
boolean hasMobileData = DataUsageUtils.hasMobileData(context);
|
||||
|
||||
int defaultSubId = DataUsageUtils.getDefaultSubscriptionId(context);
|
||||
final int defaultSubId = SubscriptionManager.getDefaultDataSubscriptionId();
|
||||
if (defaultSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||
hasMobileData = false;
|
||||
}
|
||||
|
@@ -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());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user