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);
|
mUidDetailProvider = new UidDetailProvider(activity);
|
||||||
mTelephonyManager = activity.getSystemService(TelephonyManager.class);
|
mTelephonyManager = activity.getSystemService(TelephonyManager.class);
|
||||||
mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
|
mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
|
||||||
mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA);
|
mChart = findPreference(KEY_CHART_DATA);
|
||||||
mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP);
|
mApps = findPreference(KEY_APPS_GROUP);
|
||||||
processArgument();
|
processArgument();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,7 +306,7 @@ public class DataUsageList extends DataUsageBaseFragment {
|
|||||||
getLoaderManager().restartLoader(LOADER_SUMMARY, null /* args */,
|
getLoaderManager().restartLoader(LOADER_SUMMARY, null /* args */,
|
||||||
mNetworkStatsDetailCallbacks);
|
mNetworkStatsDetailCallbacks);
|
||||||
|
|
||||||
final long totalBytes = mCycleData != null
|
final long totalBytes = mCycleData != null && !mCycleData.isEmpty()
|
||||||
? mCycleData.get(mCycleSpinner.getSelectedItemPosition()).getTotalUsage() : 0;
|
? mCycleData.get(mCycleSpinner.getSelectedItemPosition()).getTotalUsage() : 0;
|
||||||
final CharSequence totalPhrase = DataUsageUtils.formatDataUsage(getActivity(), totalBytes);
|
final CharSequence totalPhrase = DataUsageUtils.formatDataUsage(getActivity(), totalBytes);
|
||||||
mUsageAmount.setTitle(getString(R.string.data_used_template, totalPhrase));
|
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);
|
boolean hasMobileData = DataUsageUtils.hasMobileData(context);
|
||||||
|
|
||||||
int defaultSubId = DataUsageUtils.getDefaultSubscriptionId(context);
|
final int defaultSubId = SubscriptionManager.getDefaultDataSubscriptionId();
|
||||||
if (defaultSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
if (defaultSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||||
hasMobileData = false;
|
hasMobileData = false;
|
||||||
}
|
}
|
||||||
|
@@ -31,6 +31,7 @@ import static org.mockito.Mockito.verify;
|
|||||||
import android.app.usage.NetworkStatsManager;
|
import android.app.usage.NetworkStatsManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.NetworkPolicyManager;
|
import android.net.NetworkPolicyManager;
|
||||||
|
import android.telephony.SubscriptionManager;
|
||||||
|
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
|
||||||
@@ -50,6 +51,7 @@ import org.robolectric.RobolectricTestRunner;
|
|||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
import org.robolectric.shadows.ShadowApplication;
|
import org.robolectric.shadows.ShadowApplication;
|
||||||
|
import org.robolectric.shadows.ShadowSubscriptionManager;
|
||||||
|
|
||||||
@Config(shadows = {
|
@Config(shadows = {
|
||||||
ShadowUtils.class,
|
ShadowUtils.class,
|
||||||
@@ -114,10 +116,11 @@ public class DataUsageSummaryTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowSubscriptionManager.class)
|
||||||
public void configuration_withSim_shouldShowMobileAndWifi() {
|
public void configuration_withSim_shouldShowMobileAndWifi() {
|
||||||
ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
|
ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
|
||||||
ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
|
ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
|
||||||
ShadowDataUsageUtils.DEFAULT_SUBSCRIPTION_ID = 1;
|
ShadowSubscriptionManager.setDefaultDataSubscriptionId(1);
|
||||||
ShadowDataUsageUtils.HAS_SIM = true;
|
ShadowDataUsageUtils.HAS_SIM = true;
|
||||||
|
|
||||||
final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
|
final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
|
||||||
@@ -170,4 +173,26 @@ public class DataUsageSummaryTest {
|
|||||||
verify(dataUsageSummary).addWifiSection();
|
verify(dataUsageSummary).addWifiSection();
|
||||||
verify(dataUsageSummary, never()).addMobileSection(anyInt());
|
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