services.mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
services.mUserManager = mContext.getSystemService(UserManager.class);
- NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
- services.mTelephonyManager.getSubscriberId(mSubscriptionId));
- NetworkTemplate template = NetworkTemplate.normalize(mobileAll,
- services.mTelephonyManager.getMergedSubscriberIds());
+ NetworkTemplate template = DataUsageUtils.getMobileTemplate(mContext, mSubscriptionId);
preference.setTemplate(template, mSubscriptionId, services);
}
import android.content.Context;
import android.net.NetworkTemplate;
import android.os.Bundle;
-import android.provider.SearchIndexableResource;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionPlan;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.dashboard.SummaryLoader;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.net.DataUsageController;
-import com.android.settingslib.search.SearchIndexable;
import java.util.ArrayList;
import java.util.List;
hasMobileData = false;
}
mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, defaultSubId);
- mSummaryPreference = (DataUsageSummaryPreference) findPreference(KEY_STATUS_HEADER);
+ mSummaryPreference = findPreference(KEY_STATUS_HEADER);
if (!hasMobileData || !isAdmin()) {
removePreference(KEY_RESTRICT_BACKGROUND);
private void addMobileSection(int subId, SubscriptionInfo subInfo) {
TemplatePreferenceCategory category = (TemplatePreferenceCategory)
inflatePreferences(R.xml.data_usage_cellular);
- category.setTemplate(getNetworkTemplate(subId), subId, services);
+ category.setTemplate(DataUsageUtils.getMobileTemplate(getContext(), subId),
+ subId, services);
category.pushTemplates(services);
if (subInfo != null && !TextUtils.isEmpty(subInfo.getDisplayName())) {
Preference title = category.findPreference(KEY_MOBILE_USAGE_TITLE);
return pref;
}
- private NetworkTemplate getNetworkTemplate(int subscriptionId) {
- NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
- services.mTelephonyManager.getSubscriberId(subscriptionId));
- return NetworkTemplate.normalize(mobileAll,
- services.mTelephonyManager.getMergedSubscriberIds());
- }
-
@Override
public void onResume() {
super.onResume();
import android.text.format.Formatter.BytesResult;
import android.util.Log;
+import java.util.ArrayList;
import java.util.List;
/**
* Utility methods for data usage classes.
*/
-public final class DataUsageUtils {
+public final class DataUsageUtils extends com.android.settingslib.net.DataUsageUtils {
static final boolean TEST_RADIOS = false;
static final String TEST_RADIOS_PROP = "test.radios";
private static final boolean LOGD = false;
return false;
}
- final TelephonyManager telephonyManager = TelephonyManager.from(context);;
+ final TelephonyManager telephonyManager = TelephonyManager.from(context);
final NetworkStatsManager networkStatsManager =
- context.getSystemService(NetworkStatsManager.class);
+ context.getSystemService(NetworkStatsManager.class);
boolean hasEthernetUsage = false;
try {
final Bucket bucket = networkStatsManager.querySummaryForUser(
- ConnectivityManager.TYPE_ETHERNET, telephonyManager.getSubscriberId(),
- 0L /* startTime */, System.currentTimeMillis() /* endTime */);
+ ConnectivityManager.TYPE_ETHERNET, telephonyManager.getSubscriberId(),
+ 0L /* startTime */, System.currentTimeMillis() /* endTime */);
if (bucket != null) {
hasEthernetUsage = bucket.getRxBytes() > 0 || bucket.getTxBytes() > 0;
}
return SystemProperties.get(DataUsageUtils.TEST_RADIOS_PROP).contains("mobile");
}
final List<SubscriptionInfo> subInfoList =
- SubscriptionManager.from(context).getActiveSubscriptionInfoList(true);
+ SubscriptionManager.from(context).getActiveSubscriptionInfoList(true);
// No activated Subscriptions
if (subInfoList == null) {
if (LOGD) {
final boolean retVal = conn.isNetworkSupported(TYPE_MOBILE) && isReady;
if (LOGD) {
Log.d(TAG, "hasReadyMobileRadio:"
- + " conn.isNetworkSupported(TYPE_MOBILE)="
- + conn.isNetworkSupported(TYPE_MOBILE)
- + " isReady=" + isReady);
+ + " conn.isNetworkSupported(TYPE_MOBILE)="
+ + conn.isNetworkSupported(TYPE_MOBILE)
+ + " isReady=" + isReady);
}
return retVal;
}
*/
public static NetworkTemplate getDefaultTemplate(Context context, int defaultSubId) {
if (hasMobileData(context) && defaultSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
- TelephonyManager telephonyManager = TelephonyManager.from(context)
- .createForSubscriptionId(defaultSubId);
- NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
- telephonyManager.getSubscriberId(defaultSubId));
- return NetworkTemplate.normalize(mobileAll,
- telephonyManager.getMergedSubscriberIds());
+ return getMobileTemplate(context, defaultSubId);
} else if (hasWifiRadio(context)) {
return NetworkTemplate.buildTemplateWifiWildcard();
} else {
return NetworkTemplate.buildTemplateEthernet();
}
}
+
}
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+import android.app.usage.NetworkStatsManager;
import android.content.Context;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
private static final String DATA_USAGE_TITLE = "Data usage";
private static final String DATA_USAGE_SUMMARY = "test_summary";
+ @Mock
+ private NetworkStatsManager mNetworkStatsManager;
+
private Context mContext;
private DataUsageSlice mDataUsageSlice;
@Before
public void setUp() {
- mContext = RuntimeEnvironment.application;
+ MockitoAnnotations.initMocks(this);
+ mContext = spy(RuntimeEnvironment.application);
// Set-up specs for SliceMetadata.
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
+ when(mContext.getSystemService(NetworkStatsManager.class)).thenReturn(mNetworkStatsManager);
mDataUsageSlice = spy(new DataUsageSlice(mContext));