summaryrefslogtreecommitdiffstats
path: root/wifi/java/android/net/wifi/p2p
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2013-02-27 11:06:45 -0800
committerIrfan Sheriff <isheriff@google.com>2013-02-27 11:06:45 -0800
commitab3b9fbfa0523e036ec71888d0da5dc55cd3301b (patch)
tree211cd778505e1cbbbdda0cb16774a304d2ecbcae /wifi/java/android/net/wifi/p2p
parent0493d7997e22376524d707e407662d0f98f40c47 (diff)
downloadframeworks_base-ab3b9fbfa0523e036ec71888d0da5dc55cd3301b.zip
frameworks_base-ab3b9fbfa0523e036ec71888d0da5dc55cd3301b.tar.gz
frameworks_base-ab3b9fbfa0523e036ec71888d0da5dc55cd3301b.tar.bz2
Fix concurrency issues
Make true copy of list when passing off on broadcast Bug: 8212369 Change-Id: Iaf4a303513d267f76bd16b845ec68baabfca6b45
Diffstat (limited to 'wifi/java/android/net/wifi/p2p')
-rw-r--r--wifi/java/android/net/wifi/p2p/WifiP2pDevice.java2
-rw-r--r--wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java4
-rw-r--r--wifi/java/android/net/wifi/p2p/WifiP2pService.java2
3 files changed, 4 insertions, 4 deletions
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java b/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java
index ad52585..7196c1b 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java
@@ -335,7 +335,7 @@ public class WifiP2pDevice implements Parcelable {
deviceCapability = source.deviceCapability;
groupCapability = source.groupCapability;
status = source.status;
- wfdInfo = source.wfdInfo;
+ wfdInfo = new WifiP2pWfdInfo(source.wfdInfo);
}
}
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java b/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java
index 4f40ebc..0900351 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java
@@ -44,7 +44,7 @@ public class WifiP2pDeviceList implements Parcelable {
public WifiP2pDeviceList(WifiP2pDeviceList source) {
if (source != null) {
for (WifiP2pDevice d : source.getDeviceList()) {
- mDevices.put(d.deviceAddress, d);
+ mDevices.put(d.deviceAddress, new WifiP2pDevice(d));
}
}
}
@@ -53,7 +53,7 @@ public class WifiP2pDeviceList implements Parcelable {
public WifiP2pDeviceList(ArrayList<WifiP2pDevice> devices) {
for (WifiP2pDevice device : devices) {
if (device.deviceAddress != null) {
- mDevices.put(device.deviceAddress, device);
+ mDevices.put(device.deviceAddress, new WifiP2pDevice(device));
}
}
}
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pService.java b/wifi/java/android/net/wifi/p2p/WifiP2pService.java
index 1589fec..4a489d5 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pService.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pService.java
@@ -1839,7 +1839,7 @@ public class WifiP2pService extends IWifiP2pManager.Stub {
private void sendPeersChangedBroadcast() {
final Intent intent = new Intent(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION);
- intent.putExtra(WifiP2pManager.EXTRA_P2P_DEVICE_LIST, mPeers);
+ intent.putExtra(WifiP2pManager.EXTRA_P2P_DEVICE_LIST, new WifiP2pDeviceList(mPeers));
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
}