summaryrefslogtreecommitdiffstats
path: root/wifi
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2011-02-17 09:39:49 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-02-17 09:39:50 -0800
commit016d37e6c557a760c6508f5c06c8e65d2492772d (patch)
tree0a7702776ee7c6ed5cf5facdca0176eb67b0236e /wifi
parent2e10374dceea41ebab13e5d2834f6767f2c23b3d (diff)
parent124b44d89bc00b150c9478ccddfa83cac0f1df24 (diff)
downloadframeworks_base-016d37e6c557a760c6508f5c06c8e65d2492772d.zip
frameworks_base-016d37e6c557a760c6508f5c06c8e65d2492772d.tar.gz
frameworks_base-016d37e6c557a760c6508f5c06c8e65d2492772d.tar.bz2
Merge "Make WifiInfo not use int for ip address."
Diffstat (limited to 'wifi')
-rw-r--r--wifi/java/android/net/wifi/WifiInfo.java25
-rw-r--r--wifi/java/android/net/wifi/WifiNative.java2
-rw-r--r--wifi/java/android/net/wifi/WifiStateMachine.java6
3 files changed, 22 insertions, 11 deletions
diff --git a/wifi/java/android/net/wifi/WifiInfo.java b/wifi/java/android/net/wifi/WifiInfo.java
index 4312bfd..f60ae48 100644
--- a/wifi/java/android/net/wifi/WifiInfo.java
+++ b/wifi/java/android/net/wifi/WifiInfo.java
@@ -19,7 +19,11 @@ package android.net.wifi;
import android.os.Parcelable;
import android.os.Parcel;
import android.net.NetworkInfo.DetailedState;
+import android.net.NetworkUtils;
+import java.net.InetAddress;
+import java.net.Inet6Address;
+import java.net.UnknownHostException;
import java.util.EnumMap;
/**
@@ -61,7 +65,7 @@ public class WifiInfo implements Parcelable {
public static final String LINK_SPEED_UNITS = "Mbps";
private int mLinkSpeed;
- private int mIpAddress;
+ private InetAddress mIpAddress;
private String mMacAddress;
@@ -72,7 +76,6 @@ public class WifiInfo implements Parcelable {
mSupplicantState = SupplicantState.UNINITIALIZED;
mRssi = -9999;
mLinkSpeed = -1;
- mIpAddress = 0;
mHiddenSSID = false;
}
@@ -172,12 +175,13 @@ public class WifiInfo implements Parcelable {
mSupplicantState = state;
}
- void setIpAddress(int address) {
+ void setInetAddress(InetAddress address) {
mIpAddress = address;
}
public int getIpAddress() {
- return mIpAddress;
+ if (mIpAddress == null || mIpAddress instanceof Inet6Address) return 0;
+ return NetworkUtils.inetAddressToInt(mIpAddress);
}
/**
@@ -251,7 +255,12 @@ public class WifiInfo implements Parcelable {
dest.writeInt(mNetworkId);
dest.writeInt(mRssi);
dest.writeInt(mLinkSpeed);
- dest.writeInt(mIpAddress);
+ if (mIpAddress != null) {
+ dest.writeByte((byte)1);
+ dest.writeByteArray(mIpAddress.getAddress());
+ } else {
+ dest.writeByte((byte)0);
+ }
dest.writeString(getSSID());
dest.writeString(mBSSID);
dest.writeString(mMacAddress);
@@ -266,7 +275,11 @@ public class WifiInfo implements Parcelable {
info.setNetworkId(in.readInt());
info.setRssi(in.readInt());
info.setLinkSpeed(in.readInt());
- info.setIpAddress(in.readInt());
+ if (in.readByte() == 1) {
+ try {
+ info.setInetAddress(InetAddress.getByAddress(in.createByteArray()));
+ } catch (UnknownHostException e) {}
+ }
info.setSSID(in.readString());
info.mBSSID = in.readString();
info.mMacAddress = in.readString();
diff --git a/wifi/java/android/net/wifi/WifiNative.java b/wifi/java/android/net/wifi/WifiNative.java
index d920108..39676b0 100644
--- a/wifi/java/android/net/wifi/WifiNative.java
+++ b/wifi/java/android/net/wifi/WifiNative.java
@@ -16,8 +16,6 @@
package android.net.wifi;
-import android.net.DhcpInfo;
-
/**
* Native calls for sending requests to the supplicant daemon, and for
* receiving asynchronous events. All methods of the form "xxxxCommand()"
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java
index e951616..26fae7f 100644
--- a/wifi/java/android/net/wifi/WifiStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiStateMachine.java
@@ -1393,7 +1393,7 @@ public class WifiStateMachine extends HierarchicalStateMachine {
sendNetworkStateChangeBroadcast(mLastBssid);
/* Reset data structures */
- mWifiInfo.setIpAddress(0);
+ mWifiInfo.setInetAddress(null);
mWifiInfo.setBSSID(null);
mWifiInfo.setSSID(null);
mWifiInfo.setNetworkId(-1);
@@ -2543,7 +2543,7 @@ public class WifiStateMachine extends HierarchicalStateMachine {
synchronized (mDhcpInfoInternal) {
addr = NetworkUtils.numericToInetAddress(mDhcpInfoInternal.ipAddress);
}
- mWifiInfo.setIpAddress(NetworkUtils.inetAddressToInt(addr));
+ mWifiInfo.setInetAddress(addr);
configureLinkProperties();
if (getNetworkDetailedState() == DetailedState.CONNECTED) {
sendLinkConfigurationChangedBroadcast();
@@ -2556,7 +2556,7 @@ public class WifiStateMachine extends HierarchicalStateMachine {
transitionTo(mConnectedState);
break;
case CMD_IP_CONFIG_FAILURE:
- mWifiInfo.setIpAddress(0);
+ mWifiInfo.setInetAddress(null);
Log.e(TAG, "IP configuration failed");
/**