Merge "Use old API to build NetworkTemplate" into qt-dev am: e5fdc968a0
am: fd80b569f9
Change-Id: I028536be6c63a9c0424d998e5dd6fe14bf75c71e
This commit is contained in:
@@ -18,15 +18,11 @@ package com.android.settingslib.net;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.NetworkTemplate;
|
import android.net.NetworkTemplate;
|
||||||
import android.os.ParcelUuid;
|
|
||||||
import android.telephony.SubscriptionInfo;
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utils class for data usage
|
* Utils class for data usage
|
||||||
*/
|
*/
|
||||||
@@ -38,7 +34,7 @@ public class DataUsageUtils {
|
|||||||
*/
|
*/
|
||||||
public static NetworkTemplate getMobileTemplate(Context context, int subId) {
|
public static NetworkTemplate getMobileTemplate(Context context, int subId) {
|
||||||
final TelephonyManager telephonyManager = context.getSystemService(
|
final TelephonyManager telephonyManager = context.getSystemService(
|
||||||
TelephonyManager.class);
|
TelephonyManager.class).createForSubscriptionId(subId);
|
||||||
final SubscriptionManager subscriptionManager = context.getSystemService(
|
final SubscriptionManager subscriptionManager = context.getSystemService(
|
||||||
SubscriptionManager.class);
|
SubscriptionManager.class);
|
||||||
final SubscriptionInfo info = subscriptionManager.getActiveSubscriptionInfo(subId);
|
final SubscriptionInfo info = subscriptionManager.getActiveSubscriptionInfo(subId);
|
||||||
@@ -49,23 +45,8 @@ public class DataUsageUtils {
|
|||||||
Log.i(TAG, "Subscription is not active: " + subId);
|
Log.i(TAG, "Subscription is not active: " + subId);
|
||||||
return mobileAll;
|
return mobileAll;
|
||||||
}
|
}
|
||||||
final ParcelUuid groupUuid = info.getGroupUuid();
|
|
||||||
if (groupUuid == null) {
|
|
||||||
Log.i(TAG, "Subscription doesn't have valid group uuid: " + subId);
|
|
||||||
return mobileAll;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Otherwise merge other subscriberId to create new NetworkTemplate
|
// Use old API to build networkTemplate
|
||||||
final List<SubscriptionInfo> groupInfos = subscriptionManager.getSubscriptionsInGroup(
|
return NetworkTemplate.normalize(mobileAll, telephonyManager.getMergedSubscriberIds());
|
||||||
groupUuid);
|
|
||||||
final List<String> mergedSubscriberIds = new ArrayList<>();
|
|
||||||
for (SubscriptionInfo subInfo : groupInfos) {
|
|
||||||
final String subscriberId = telephonyManager.getSubscriberId(
|
|
||||||
subInfo.getSubscriptionId());
|
|
||||||
if (subscriberId != null) {
|
|
||||||
mergedSubscriberIds.add(subscriberId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return NetworkTemplate.normalize(mobileAll, mergedSubscriberIds.toArray(new String[0]));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ import java.util.List;
|
|||||||
public class DataUsageUtilsTest {
|
public class DataUsageUtilsTest {
|
||||||
|
|
||||||
private static final int SUB_ID = 1;
|
private static final int SUB_ID = 1;
|
||||||
private static final int SUB_ID_2 = 2;
|
|
||||||
private static final String SUBSCRIBER_ID = "Test Subscriber";
|
private static final String SUBSCRIBER_ID = "Test Subscriber";
|
||||||
private static final String SUBSCRIBER_ID_2 = "Test Subscriber 2";
|
private static final String SUBSCRIBER_ID_2 = "Test Subscriber 2";
|
||||||
|
|
||||||
@@ -67,11 +66,11 @@ public class DataUsageUtilsTest {
|
|||||||
|
|
||||||
mContext = spy(RuntimeEnvironment.application);
|
mContext = spy(RuntimeEnvironment.application);
|
||||||
when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
|
when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
|
||||||
|
when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
|
||||||
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
|
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
|
||||||
when(mTelephonyManager.getSubscriberId(SUB_ID)).thenReturn(SUBSCRIBER_ID);
|
when(mTelephonyManager.getSubscriberId(SUB_ID)).thenReturn(SUBSCRIBER_ID);
|
||||||
when(mTelephonyManager.getSubscriberId(SUB_ID_2)).thenReturn(SUBSCRIBER_ID_2);
|
when(mTelephonyManager.getMergedSubscriberIds()).thenReturn(
|
||||||
when(mInfo1.getSubscriptionId()).thenReturn(SUB_ID);
|
new String[]{SUBSCRIBER_ID, SUBSCRIBER_ID_2});
|
||||||
when(mInfo2.getSubscriptionId()).thenReturn(SUB_ID_2);
|
|
||||||
|
|
||||||
mInfos = new ArrayList<>();
|
mInfos = new ArrayList<>();
|
||||||
mInfos.add(mInfo1);
|
mInfos.add(mInfo1);
|
||||||
@@ -89,17 +88,7 @@ public class DataUsageUtilsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getMobileTemplate_groupUuidNull_returnMobileAll() {
|
public void getMobileTemplate_infoExisted_returnMobileMerged() {
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfo(SUB_ID)).thenReturn(mInfo1);
|
|
||||||
when(mInfo1.getGroupUuid()).thenReturn(null);
|
|
||||||
|
|
||||||
final NetworkTemplate networkTemplate = DataUsageUtils.getMobileTemplate(mContext, SUB_ID);
|
|
||||||
assertThat(networkTemplate.matchesSubscriberId(SUBSCRIBER_ID)).isTrue();
|
|
||||||
assertThat(networkTemplate.matchesSubscriberId(SUBSCRIBER_ID_2)).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void getMobileTemplate_groupUuidExist_returnMobileMerged() {
|
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfo(SUB_ID)).thenReturn(mInfo1);
|
when(mSubscriptionManager.getActiveSubscriptionInfo(SUB_ID)).thenReturn(mInfo1);
|
||||||
when(mInfo1.getGroupUuid()).thenReturn(mParcelUuid);
|
when(mInfo1.getGroupUuid()).thenReturn(mParcelUuid);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user