Loading src/java/com/android/internal/telephony/dataconnection/DataConnection.java +7 −3 Original line number Diff line number Diff line Loading @@ -36,9 +36,9 @@ import android.telephony.ServiceState; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Pair; import android.util.Patterns; import android.util.TimeUtils; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.CallTracker; import com.android.internal.telephony.CarrierSignalAgent; import com.android.internal.telephony.CommandException; Loading Loading @@ -976,10 +976,14 @@ public class DataConnection extends StateMachine { return result; } private boolean isIpAddress(String address) { /** * @return {@code} true iff. {@code address} is a literal IPv4 or IPv6 address. */ @VisibleForTesting public static boolean isIpAddress(String address) { if (address == null) return false; return Patterns.IP_ADDRESS.matcher(address).matches(); return InetAddress.isNumeric(address); } private DataCallResponse.SetupResult setLinkProperties(DataCallResponse response, Loading tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataConnectionTest.java +12 −1 Original line number Diff line number Diff line Loading @@ -314,4 +314,15 @@ public class DataConnectionTest extends TelephonyTest { .hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED)); assertFalse(getNetworkInfo().isMetered()); } @SmallTest public void testIsIpAddress() throws Exception { // IPv4 assertTrue(DataConnection.isIpAddress("1.2.3.4")); assertTrue(DataConnection.isIpAddress("127.0.0.1")); // IPv6 assertTrue(DataConnection.isIpAddress("::1")); assertTrue(DataConnection.isIpAddress("2001:4860:800d::68")); } } Loading
src/java/com/android/internal/telephony/dataconnection/DataConnection.java +7 −3 Original line number Diff line number Diff line Loading @@ -36,9 +36,9 @@ import android.telephony.ServiceState; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Pair; import android.util.Patterns; import android.util.TimeUtils; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.CallTracker; import com.android.internal.telephony.CarrierSignalAgent; import com.android.internal.telephony.CommandException; Loading Loading @@ -976,10 +976,14 @@ public class DataConnection extends StateMachine { return result; } private boolean isIpAddress(String address) { /** * @return {@code} true iff. {@code address} is a literal IPv4 or IPv6 address. */ @VisibleForTesting public static boolean isIpAddress(String address) { if (address == null) return false; return Patterns.IP_ADDRESS.matcher(address).matches(); return InetAddress.isNumeric(address); } private DataCallResponse.SetupResult setLinkProperties(DataCallResponse response, Loading
tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataConnectionTest.java +12 −1 Original line number Diff line number Diff line Loading @@ -314,4 +314,15 @@ public class DataConnectionTest extends TelephonyTest { .hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED)); assertFalse(getNetworkInfo().isMetered()); } @SmallTest public void testIsIpAddress() throws Exception { // IPv4 assertTrue(DataConnection.isIpAddress("1.2.3.4")); assertTrue(DataConnection.isIpAddress("127.0.0.1")); // IPv6 assertTrue(DataConnection.isIpAddress("::1")); assertTrue(DataConnection.isIpAddress("2001:4860:800d::68")); } }