Merge "Detached unmetered APN logic from old data stack" into tm-dev
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index bfd86e0..76e6694 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -186,6 +186,7 @@
import com.android.internal.telephony.SubscriptionController;
import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.telephony.TelephonyPermissions;
+import com.android.internal.telephony.data.DataUtils;
import com.android.internal.telephony.dataconnection.ApnSettingUtils;
import com.android.internal.telephony.emergency.EmergencyNumberTracker;
import com.android.internal.telephony.euicc.EuiccConnector;
@@ -9685,11 +9686,15 @@
Phone phone = getPhone(subId);
if (phone == null) return false;
- boolean isMetered = ApnSettingUtils.isMeteredApnType(apnType, phone);
+ boolean isMetered;
boolean isDataEnabled;
if (phone.isUsingNewDataStack()) {
+ isMetered = phone.getDataNetworkController().getDataConfigManager()
+ .isMeteredCapability(DataUtils.apnTypeToNetworkCapability(apnType),
+ phone.getServiceState().getDataRoaming());
isDataEnabled = phone.getDataSettingsManager().isDataEnabled(apnType);
} else {
+ isMetered = ApnSettingUtils.isMeteredApnType(apnType, phone);
isDataEnabled = phone.getDataEnabledSettings().isDataEnabled(apnType);
}
return !isMetered || isDataEnabled;
@@ -9707,6 +9712,11 @@
try {
Phone phone = getPhone(subId);
if (phone == null) return true; // By default return true.
+ if (phone.isUsingNewDataStack()) {
+ return phone.getDataNetworkController().getDataConfigManager().isMeteredCapability(
+ DataUtils.apnTypeToNetworkCapability(apnType),
+ phone.getServiceState().getDataRoaming());
+ }
return ApnSettingUtils.isMeteredApnType(apnType, phone);
} finally {