Loading core/java/android/net/NetworkUtils.java +27 −0 Original line number Diff line number Diff line Loading @@ -250,4 +250,31 @@ public class NetworkUtils { } return result; } /** * Trim leading zeros from IPv4 address strings * Our base libraries will interpret that as octel.. * Must leave non v4 addresses and host names alone. * For example, 192.168.000.010 -> 192.168.0.10 * TODO - fix base libraries and remove this function * @param addr a string representing an ip addr * @return a string propertly trimmed */ public static String trimV4AddrZeros(String addr) { String[] octets = addr.split("\\."); if (octets.length != 4) return addr; StringBuilder builder = new StringBuilder(16); String result = null; for (int i = 0; i < 4; i++) { try { if (octets[i].length > 3) return addr; builder.append(Integer.parseInt(octets[i])); } catch (NumberFormatException e) { return addr; } if (i < 3) builder.append('.'); } result = builder.toString(); return result; } } telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +9 −3 Original line number Diff line number Diff line Loading @@ -914,10 +914,16 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.NUMERIC)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.NAME)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.APN)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.PROXY)), NetworkUtils.trimV4AddrZeros( cursor.getString( cursor.getColumnIndexOrThrow(Telephony.Carriers.PROXY))), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.PORT)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.MMSC)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.MMSPROXY)), NetworkUtils.trimV4AddrZeros( cursor.getString( cursor.getColumnIndexOrThrow(Telephony.Carriers.MMSC))), NetworkUtils.trimV4AddrZeros( cursor.getString( cursor.getColumnIndexOrThrow(Telephony.Carriers.MMSPROXY))), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.MMSPORT)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.USER)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.PASSWORD)), Loading Loading
core/java/android/net/NetworkUtils.java +27 −0 Original line number Diff line number Diff line Loading @@ -250,4 +250,31 @@ public class NetworkUtils { } return result; } /** * Trim leading zeros from IPv4 address strings * Our base libraries will interpret that as octel.. * Must leave non v4 addresses and host names alone. * For example, 192.168.000.010 -> 192.168.0.10 * TODO - fix base libraries and remove this function * @param addr a string representing an ip addr * @return a string propertly trimmed */ public static String trimV4AddrZeros(String addr) { String[] octets = addr.split("\\."); if (octets.length != 4) return addr; StringBuilder builder = new StringBuilder(16); String result = null; for (int i = 0; i < 4; i++) { try { if (octets[i].length > 3) return addr; builder.append(Integer.parseInt(octets[i])); } catch (NumberFormatException e) { return addr; } if (i < 3) builder.append('.'); } result = builder.toString(); return result; } }
telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +9 −3 Original line number Diff line number Diff line Loading @@ -914,10 +914,16 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.NUMERIC)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.NAME)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.APN)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.PROXY)), NetworkUtils.trimV4AddrZeros( cursor.getString( cursor.getColumnIndexOrThrow(Telephony.Carriers.PROXY))), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.PORT)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.MMSC)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.MMSPROXY)), NetworkUtils.trimV4AddrZeros( cursor.getString( cursor.getColumnIndexOrThrow(Telephony.Carriers.MMSC))), NetworkUtils.trimV4AddrZeros( cursor.getString( cursor.getColumnIndexOrThrow(Telephony.Carriers.MMSPROXY))), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.MMSPORT)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.USER)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.PASSWORD)), Loading