Fixed incorrect metered/unmetered APN in AP-assisted mode
From now all data traffic through IWLAN will be unmetered. Only
data through cellular will be checked for metered/unmetered.
Test: Unit tests
Bug: 132433959
Change-Id: I871026ee49f71f546bb96f6121d185f46594cadf
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 2e16dfe..b96779a 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -91,6 +91,7 @@
import android.telephony.VisualVoicemailSmsFilterSettings;
import android.telephony.cdma.CdmaCellLocation;
import android.telephony.data.ApnSetting;
+import android.telephony.data.ApnSetting.ApnType;
import android.telephony.emergency.EmergencyNumber;
import android.telephony.gsm.GsmCellLocation;
import android.telephony.ims.ProvisioningManager;
@@ -7045,8 +7046,7 @@
Phone phone = getPhone(subId);
if (phone == null) return false;
- boolean isMetered = ApnSettingUtils.isMeteredApnType(ApnSetting.getApnTypeString(
- apnType), phone);
+ boolean isMetered = ApnSettingUtils.isMeteredApnType(apnType, phone);
return !isMetered || phone.getDataEnabledSettings().isDataEnabled(apnType);
} finally {
Binder.restoreCallingIdentity(identity);
@@ -7054,7 +7054,7 @@
}
@Override
- public boolean isApnMetered(int apnType, int subId) {
+ public boolean isApnMetered(@ApnType int apnType, int subId) {
enforceReadPrivilegedPermission("isApnMetered");
// Now that all security checks passes, perform the operation as ourselves.
@@ -7063,8 +7063,7 @@
Phone phone = getPhone(subId);
if (phone == null) return true; // By default return true.
- return ApnSettingUtils.isMeteredApnType(ApnSetting.getApnTypeString(
- apnType), phone);
+ return ApnSettingUtils.isMeteredApnType(apnType, phone);
} finally {
Binder.restoreCallingIdentity(identity);
}