diff options
author | Irfan Sheriff <isheriff@google.com> | 2011-08-25 13:58:25 -0700 |
---|---|---|
committer | Irfan Sheriff <isheriff@google.com> | 2011-08-25 13:58:25 -0700 |
commit | 859e7de2359420dcc5275bdce588b96dcc9203f0 (patch) | |
tree | 2c17aed25f00056def27dcf614d9709c1fa8fb48 /wifi | |
parent | ea5b16ac5751022de73e8f1225407eb01e7f1824 (diff) | |
download | frameworks_base-859e7de2359420dcc5275bdce588b96dcc9203f0.zip frameworks_base-859e7de2359420dcc5275bdce588b96dcc9203f0.tar.gz frameworks_base-859e7de2359420dcc5275bdce588b96dcc9203f0.tar.bz2 |
Fix connection notification for group owner
Bug: 5002384
Change-Id: I099d6907787a0becf9363c3709efd8d4ec2a97af
Diffstat (limited to 'wifi')
-rw-r--r-- | wifi/java/android/net/wifi/p2p/WifiP2pService.java | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pService.java b/wifi/java/android/net/wifi/p2p/WifiP2pService.java index 9e0f124..adf13be 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pService.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pService.java @@ -129,6 +129,11 @@ public class WifiP2pService extends IWifiP2pManager.Stub { private NetworkInfo mNetworkInfo; + /* Is chosen as a unique range to avoid conflict with + the range defined in Tethering.java */ + private static final String[] DHCP_RANGE = {"192.168.49.2", "192.168.49.254"}; + private static final String SERVER_ADDRESS = "192.168.49.1"; + public WifiP2pService(Context context) { mContext = context; @@ -739,6 +744,12 @@ public class WifiP2pService extends IWifiP2pManager.Stub { public void enter() { if (DBG) logd(getName()); mNetworkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTED, null, null); + + //DHCP server has already been started if I am a group owner + if (mGroup.isGroupOwner()) { + setWifiP2pInfoOnGroupFormation(SERVER_ADDRESS); + sendP2pConnectionChangedBroadcast(); + } } @Override @@ -895,30 +906,22 @@ public class WifiP2pService extends IWifiP2pManager.Stub { } private void startDhcpServer(String intf) { - /* Is chosen as a unique range to avoid conflict with - the range defined in Tethering.java */ - String[] dhcp_range = {"192.168.49.2", "192.168.49.254"}; - String serverAddress = "192.168.49.1"; - InterfaceConfiguration ifcg = null; try { ifcg = mNwService.getInterfaceConfig(intf); ifcg.addr = new LinkAddress(NetworkUtils.numericToInetAddress( - serverAddress), 24); + SERVER_ADDRESS), 24); ifcg.interfaceFlags = "[up]"; mNwService.setInterfaceConfig(intf, ifcg); /* This starts the dnsmasq server */ - mNwService.startTethering(dhcp_range); + mNwService.startTethering(DHCP_RANGE); } catch (Exception e) { loge("Error configuring interface " + intf + ", :" + e); return; } logd("Started Dhcp server on " + intf); - - setWifiP2pInfoOnGroupFormation(serverAddress); - sendP2pConnectionChangedBroadcast(); - } + } private void stopDhcpServer() { try { |