diff options
author | Irfan Sheriff <isheriff@google.com> | 2013-02-27 11:06:45 -0800 |
---|---|---|
committer | Irfan Sheriff <isheriff@google.com> | 2013-02-27 11:06:45 -0800 |
commit | ab3b9fbfa0523e036ec71888d0da5dc55cd3301b (patch) | |
tree | 211cd778505e1cbbbdda0cb16774a304d2ecbcae /wifi/java/android | |
parent | 0493d7997e22376524d707e407662d0f98f40c47 (diff) | |
download | frameworks_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')
-rw-r--r-- | wifi/java/android/net/wifi/p2p/WifiP2pDevice.java | 2 | ||||
-rw-r--r-- | wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java | 4 | ||||
-rw-r--r-- | wifi/java/android/net/wifi/p2p/WifiP2pService.java | 2 |
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); } |