summaryrefslogtreecommitdiffstats
path: root/wifi
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2011-08-25 13:58:25 -0700
committerIrfan Sheriff <isheriff@google.com>2011-08-25 13:58:25 -0700
commit859e7de2359420dcc5275bdce588b96dcc9203f0 (patch)
tree2c17aed25f00056def27dcf614d9709c1fa8fb48 /wifi
parentea5b16ac5751022de73e8f1225407eb01e7f1824 (diff)
downloadframeworks_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.java25
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 {