Merge "Remove usage of hidden APIs"
diff --git a/src/java/com/android/internal/telephony/dataconnection/DataConnection.java b/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
index e151c7c..822d249 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
@@ -45,8 +45,8 @@
import android.provider.Telephony;
import android.telephony.AccessNetworkConstants;
import android.telephony.AccessNetworkConstants.TransportType;
-import android.telephony.Annotation.DataFailureCause;
import android.telephony.Annotation.ApnType;
+import android.telephony.Annotation.DataFailureCause;
import android.telephony.CarrierConfigManager;
import android.telephony.DataFailCause;
import android.telephony.NetworkRegistrationInfo;
@@ -88,6 +88,8 @@
import com.android.internal.util.State;
import com.android.internal.util.StateMachine;
+import libcore.net.InetAddressUtils;
+
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.io.StringWriter;
@@ -1367,7 +1369,11 @@
public static boolean isIpAddress(String address) {
if (address == null) return false;
- return InetAddress.isNumeric(address);
+ // Accept IPv6 addresses (only) in square brackets for compatibility.
+ if (address.startsWith("[") && address.endsWith("]") && address.indexOf(':') != -1) {
+ address = address.substring(1, address.length() - 1);
+ }
+ return InetAddressUtils.isNumericAddress(address);
}
private SetupResult setLinkProperties(DataCallResponse response,
@@ -1441,7 +1447,8 @@
for (InetAddress gateway : response.getGatewayAddresses()) {
// Allow 0.0.0.0 or :: as a gateway;
// this indicates a point-to-point interface.
- linkProperties.addRoute(new RouteInfo(gateway));
+ linkProperties.addRoute(new RouteInfo(null, gateway, null,
+ RouteInfo.RTN_UNICAST));
}
// set interface MTU
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
index 0e1fef8..0b17936 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
@@ -2721,7 +2721,8 @@
checkDataRoamingStatus(false);
boolean isProvApn = apnContext.isProvisioningApn();
- final ConnectivityManager cm = ConnectivityManager.from(mPhone.getContext());
+ final ConnectivityManager cm = (ConnectivityManager) mPhone.getContext()
+ .getSystemService(Context.CONNECTIVITY_SERVICE);
if (mProvisionBroadcastReceiver != null) {
mPhone.getContext().unregisterReceiver(mProvisionBroadcastReceiver);
mProvisionBroadcastReceiver = null;